Download OpenAPI specification:Download
Welcome to the Spot by NetApp OpenAPI Specification. Here you will find REST definitions for all Spot products and platform administration tasks.
The API is hosted at https://api.spotinst.io and requires Bearer Token
Authentication.
For more information on how to use the Spot platform, including user guides, developer guides, concepts and tutorials see the external Spot Help documentation.
To generate bearer tokens and understand more about Spot by NetApp authentication see the howto for token creation on the Spot Help site.
Each Spot account is assigned to an organization and a set of environment Accounts. An account is then linked to a specific cloud provider account.
Spot accounts are given an ID in the format act-123abcd that is sent as a query parameter while performing API calls.
To locate the account ID navigate to Settings -> Account in the Spot console.
Each API call you make can be used with or without the account ID.
Organizations With Multiple Accounts Each API call you make should be appended to the account ID. For example:
GET https://api.spotinst.io/aws/ec2/group?accountId=act-123de678
This call will return the list of Elastigroups for the specific Account used.
Please note – If no accountId is provided, the default (Oldest) account for the Organization will be used
| Security Scheme Type | HTTP |
|---|---|
| HTTP Authorization Scheme | bearer |
Ocean - Serverless containers for Amazon Web Services (AWS)
Prerequisites
The Spot Controller is used to monitor the cluster resources and report back to Ocean and is required for Ocean On-Prem.
To install the Spot Controller, complete and run the following script on a machine with kubectl command line tool installed and configured:
#!/usr/bin/env bash
curl -fsSL http://spotinst-public.s3.amazonaws.com/integrations/kubernetes/cluster-controller/scripts/init.sh | \
SPOTINST_TOKEN=<ENTER YOUR TOKEN HERE> \
SPOTINST_ACCOUNT=<ENTER YOUR SPOTINST ACCOUNT ID HERE> \
SPOTINST_CLUSTER_IDENTIFIER=<ENTER YOUR CLUSTER IDENTIFIER HERE> \
bash| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object | ||||||||||||||||||
| |||||||||||||||||||
{- "cluster": {
- "name": "oceanName",
- "controllerClusterId": "ocean.k8s",
- "region": "us-east-1",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVcpu": 750
}, - "down": {
- "maxScaleDownPercentage": 60
}, - "headRoom": {
- "cpuPerUnit": 2000,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 4
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null
}, - "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "gracePeriod": 600,
- "drainingTimeout": 60
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll"
}
]
}, - "security": {
- "containerImage": {
- "approvedImages": [
- "*.ecr.*.amazonaws.com/*",
- "docker.*"
]
}
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.2xlarge",
- "c4.xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": null
}, - "launchSpecification": {
- "imageId": "string",
- "userData": null,
- "securityGroupIds": [
- "sg-c3d914b0"
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "keyPair": "spotinst-labs-oregon",
- "tags": [ ],
- "loadBalancers": null,
- "associatePublicIpAddress": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73
}
}
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "cluster": {
- "name": "oceanName",
- "controllerClusterId": "ocean.k8s",
- "region": "us-east-1",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVcpu": 750
}, - "down": {
- "maxScaleDownPercentage": 60
}, - "headRoom": {
- "cpuPerUnit": 2000,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 4
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null
}, - "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "gracePeriod": 600,
- "drainingTimeout": 60
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll"
}
]
}, - "security": {
- "containerImage": {
- "approvedImages": [
- "*.ecr.*.amazonaws.com/*",
- "docker.*"
]
}
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.2xlarge",
- "c4.xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": null
}, - "launchSpecification": {
- "imageId": "string",
- "userData": null,
- "securityGroupIds": [
- "sg-c3d914b0"
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "keyPair": "spotinst-labs-oregon",
- "tags": [ ],
- "loadBalancers": null,
- "associatePublicIpAddress": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73
}
}
}, - "id": "o-482d9d26",
- "createdAt": "2018-11-05T12:55:50.000+0000",
- "updatedAt": "2018-11-05T12:58:15.000+0000"
}
}
}List the configurations for all Ocean cluster in the specified account.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "cluster": {
- "name": "oceanName",
- "controllerClusterId": "ocean.k8s",
- "region": "us-east-1",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVcpu": 750
}, - "down": {
- "maxScaleDownPercentage": 60
}, - "headRoom": {
- "cpuPerUnit": 2000,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 4
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null
}, - "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "gracePeriod": 600,
- "drainingTimeout": 60
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll"
}
]
}, - "security": {
- "containerImage": {
- "approvedImages": [
- "*.ecr.*.amazonaws.com/*",
- "docker.*"
]
}
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.2xlarge",
- "c4.xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": null
}, - "launchSpecification": {
- "imageId": "string",
- "userData": null,
- "securityGroupIds": [
- "sg-c3d914b0"
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "keyPair": "spotinst-labs-oregon",
- "tags": [ ],
- "loadBalancers": null,
- "associatePublicIpAddress": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73
}
}
}, - "id": "o-482d9d26",
- "createdAt": "2018-11-05T12:55:50.000+0000",
- "updatedAt": "2018-11-05T12:58:15.000+0000"
}
}
}Delete a specified Ocean cluster.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| OCEAN_ID required | string Example: OCEAN_ID=o-1abcd124 The ID of the Ocean cluster to delete. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Get the configurations for a specified Ocean cluster.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| OCEAN_ID required | string Example: OCEAN_ID=o-1abcd124 The ID of the Ocean cluster to delete. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "cluster": {
- "name": "oceanName",
- "controllerClusterId": "ocean.k8s",
- "region": "us-east-1",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVcpu": 750
}, - "down": {
- "maxScaleDownPercentage": 60
}, - "headRoom": {
- "cpuPerUnit": 2000,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 4
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null
}, - "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "gracePeriod": 600,
- "drainingTimeout": 60
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll"
}
]
}, - "security": {
- "containerImage": {
- "approvedImages": [
- "*.ecr.*.amazonaws.com/*",
- "docker.*"
]
}
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.2xlarge",
- "c4.xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": null
}, - "launchSpecification": {
- "imageId": "string",
- "userData": null,
- "securityGroupIds": [
- "sg-c3d914b0"
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "keyPair": "spotinst-labs-oregon",
- "tags": [ ],
- "loadBalancers": null,
- "associatePublicIpAddress": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73
}
}
}, - "id": "o-482d9d26",
- "createdAt": "2018-11-05T12:55:50.000+0000",
- "updatedAt": "2018-11-05T12:58:15.000+0000"
}
}
}All Ocean parameters are updatable, except for region and ID. This API supports partial updates, so specific fields can be updated separately.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| autoApplyTags | string Example: autoApplyTags=true Optionally update instance tags on the fly without rolling the cluster. |
| OCEAN_ID required | string Example: OCEAN_ID=o-1abcd124 The ID of the Ocean cluster to delete. |
required | object (AWS Cluster) |
| group | object |
{- "cluster": {
- "name": "oceanName",
- "controllerClusterId": "ocean.k8s",
- "region": "us-east-1",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVcpu": 750
}, - "down": {
- "maxScaleDownPercentage": 60
}, - "headRoom": {
- "cpuPerUnit": 2000,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 4
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null
}, - "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "gracePeriod": 600,
- "drainingTimeout": 60
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll"
}
]
}, - "security": {
- "containerImage": {
- "approvedImages": [
- "*.ecr.*.amazonaws.com/*",
- "docker.*"
]
}
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.2xlarge",
- "c4.xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": null
}, - "launchSpecification": {
- "imageId": "string",
- "userData": null,
- "securityGroupIds": [
- "sg-c3d914b0"
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "keyPair": "spotinst-labs-oregon",
- "tags": [ ],
- "loadBalancers": null,
- "associatePublicIpAddress": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73
}
}
}, - "group": { }
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "cluster": {
- "name": "oceanName",
- "controllerClusterId": "ocean.k8s",
- "region": "us-east-1",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 180,
- "resourceLimits": {
- "maxMemoryGib": 1500,
- "maxVcpu": 750
}, - "down": {
- "maxScaleDownPercentage": 60
}, - "headRoom": {
- "cpuPerUnit": 2000,
- "memoryPerUnit": 0,
- "gpuPerUnit": 0,
- "numOfUnit": 4
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": null
}, - "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "gracePeriod": 600,
- "drainingTimeout": 60
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "cronExpression": "0 1 * * *",
- "taskType": "clusterRoll"
}
]
}, - "security": {
- "containerImage": {
- "approvedImages": [
- "*.ecr.*.amazonaws.com/*",
- "docker.*"
]
}
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.2xlarge",
- "c4.xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": null
}, - "launchSpecification": {
- "imageId": "string",
- "userData": null,
- "securityGroupIds": [
- "sg-c3d914b0"
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "keyPair": "spotinst-labs-oregon",
- "tags": [ ],
- "loadBalancers": null,
- "associatePublicIpAddress": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73
}
}
}, - "id": "o-482d9d26",
- "createdAt": "2018-11-05T12:55:50.000+0000",
- "updatedAt": "2018-11-05T12:58:15.000+0000"
}
}
}Get Ocean cluster’s controller heartbeat status.
The response would return the heartbeat status and last heartbeat timestamp."
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| OCEAN_ID required | string Example: OCEAN_ID=o-1abcd124 The ID of the Ocean cluster to delete. |
| Authorization | string |
| content-Type | string |
{- "content-Type": "application/json",
- "Authorization": "Bearer ${token}"
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": "200",
- "message": "OK"
}, - "kind": "spotinst:ocean:k8s:cluster:controllerHeartbeat",
- "items": {
- "status": "ACTIVE",
- "lastHeartbeat": "2019-11-24T14:33:00.746Z"
}, - "count": "1"
}
}Create an Ocean configuration according to an AWS autoscaling group (ASG) configuration.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| autoScalingGroupName required | string The autoscaling group name. |
| region required | string Example: region=us-east-1 Region name of the ASG. |
{- "name": "TestASG1",
- "controllerClusterId": "ocean-ed609402-8557-4d18-818a-e549333cc11e",
- "region": "us-west-2",
- "capacity": {
- "minimum": 0,
- "maximum": 1000,
- "target": 1
}, - "compute": {
- "subnetIds": [
- "subnet-00cab2dd9f40a9883",
- "subnet-0df9d512c7cbbd9e1"
], - "launchSpecification": {
- "securityGroupIds": [
- "sg-03ccf232a2bf0f4ea"
], - "keyPair": "testteamkp",
- "imageId": "ami-0ce21b51cb31a54b8",
- "tags": {
- "tagKey": "AmazonECSManaged",
- "tagValue": ""
}, - "associatePublicIpAddress": "false"
}
}
}Get right-sizing recommendations for an Ocean cluster and filter them according to namespace or label.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| OCEAN_ID required | string Example: OCEAN_ID=o-1abcd124 The ID of the Ocean cluster to delete. |
object An object enabling filtering of right-size recommendations. Optional; may be null. | |||||
| |||||
{- "filter": {
- "namespaces": [
- "sparkSpace",
- "kube-system"
], - "attribute": {
- "type": "label",
- "key": "app",
- "operator": "exists",
- "value": "redis"
}
}
}{- "items": [
- {
- "resourceName": "redis-controller",
- "resourceType": "deployment",
- "namespace": "kube-system",
- "suggestedCPU": 1,
- "suggestedMemory": 19,
- "requestedCPU": 50,
- "requestedMemory": 50
}, - {
- "resourceName": "test-redis",
- "resourceType": "deployment",
- "namespace": "sparkSpace",
- "suggestedCPU": 2,
- "suggestedMemory": 20,
- "requestedCPU": 10,
- "requestedMemory": 30
}
]
}Describes Kubernetes cluster costs in a time range based on resource allocation. The response will provide the distribution of the costs per cluster, namespace, and deployment. For each entity, the response will contain breakdown to compute and EBS costs as well. In addition, response will show labels/annotations for each namespace or deployment so you can filter costs by labels or annotations.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| aggregationPeriod | string Possible values: "daily", null. For daily value response contains aggregated data by day. |
| fromDate required | string data values following either a date format (yyyy-mm-dd ; 2016-11-20) or ms (1494751821472) |
| toDate required | string data values following either a date format (yyyy-mm-dd ; 2016-11-20) or ms (1494751821472) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "totalCost": 279.9907,
- "totalComputeCost": 279.9907,
- "totalEbsCost": 0,
- "totalStorageCost": 0,
- "namespaces": {
- "namespace": "default",
- "cost": 18.00862,
- "computeCost": 18.00862,
- "ebsCost": 0,
- "storageCost": 0,
- "labels": {
- "region": "west",
- "env": "prod"
}, - "annotations": {
- "region": "west",
- "env": "prod"
}, - "deployments": {
- "name": "cpu-deployment-check5",
- "namespace": "default",
- "cost": 3.7410312,
- "computeCost": 3.7410312,
- "ebsCost": 0,
- "storageCost": 0,
- "labels": {
- "region": "west",
- "env": "prod"
}, - "annotations": {
- "region": "west",
- "env": "prod"
}
}, - "statefulSets": {
- "name": "cpu-deployment-check5",
- "namespace": "default",
- "cost": 3.7410312,
- "computeCost": 3.7410312,
- "ebsCost": 0,
- "storageCost": 0,
- "labels": {
- "region": "west",
- "env": "prod"
}, - "annotations": {
- "region": "west",
- "env": "prod"
}
}, - "daemonSets": {
- "name": "cpu-deployment-check5",
- "namespace": "default",
- "cost": 3.7410312,
- "computeCost": 3.7410312,
- "ebsCost": 0,
- "storageCost": 0,
- "labels": {
- "region": "west",
- "env": "prod"
}, - "annotations": {
- "region": "west",
- "env": "prod"
}
}, - "jobs": {
- "name": "cpu-deployment-check5",
- "namespace": "default",
- "cost": 3.7410312,
- "computeCost": 3.7410312,
- "ebsCost": 0,
- "storageCost": 0,
- "labels": {
- "region": "west",
- "env": "prod"
}, - "annotations": {
- "region": "west",
- "env": "prod"
}
}, - "standAlonePodsCost": null
}, - "deployments": {
- "name": "cpu-deployment-check5",
- "namespace": "default",
- "cost": 3.7410312,
- "computeCost": 3.7410312,
- "ebsCost": 0,
- "storageCost": 0,
- "labels": {
- "region": "west",
- "env": "prod"
}, - "annotations": {
- "region": "west",
- "env": "prod"
}
}, - "headroomCost": 0,
- "idleCost": 216.10321
}, - "count": 1,
- "kind": "string"
}
}Upgrade an Elastigroup with K8s integration into Ocean for K8s cluster.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| groupId required | string Elastigroup ID |
{- "kind": "spotinst:ocean:aws:k8s",
- "items": {
- "id": "o-482d9d26",
- "name": "Ocean::test-k8s-batch-1",
- "clusterName": "testEnvironment_Batch_852a670a-aa73-3d5d-9576-147a26d43401",
- "autoScaler": {
- "isEnabled": true,
- "isAutoConfig": true
}, - "region": "us-west-2",
- "groupId": "sig-b6bb68fb",
- "strategy": {
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 120
}, - "compute": {
- "subnetIds": [
- "subnet-4c1d1538",
- "subnet-2791bb61"
], - "instanceTypes": {
- "whitelist": [
- "c4.2xlarge",
- "c4.xlarge",
- "c4.4xlarge",
- "c4.8xlarge"
], - "blacklist": null
}, - "launchSpecification": {
- "imageId": "string",
- "userData": null,
- "securityGroupIds": [
- "sg-c3d914b0"
], - "iamInstanceProfile": {
- "arn": "orform"
}, - "keyPair": "spotinst-labs-oregon",
- "tags": [ ],
- "loadBalancers": null,
- "associatePublicIpAddress": false,
- "monitoring": true,
- "ebsOptimized": true,
- "rootVolumeSize": 73
}
}, - "createdAt": "2018-11-05T12:55:50.000+0000",
- "updatedAt": "2018-11-05T12:58:15.000+0000"
}
}Roll an entire Ocean cluster or roll subsets of the cluster by specifying launchSpecIds or instanceIds. Performing this request will start the roll immediately, by defined batches. Note that the first response for a successful request will notify for starting a roll. In order to check the status of a roll, you can use the GET Roll API.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| OCEAN_ID required | string Example: OCEAN_ID=o-1abcd124 The ID of the Ocean cluster to delete. |
object Settings for roll operation | |||||||||
| |||||||||
{- "roll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "launchSpecIds": [
- "ols-76694a7d",
- "ols-56694a76"
], - "instanceIds": [
- "i-0003a99ffb566f039",
- "i-0567a99ffb566f765"
]
}
}{- "id": "scr-5aaf854e",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 0
}, - "oceanId": "o-12e31234",
- "instanceIds": [
- "i-0003a99ffb566f039",
- "i-0567a99ffb566f765"
], - "launchSpecIds": [
- "ols-76694a7d",
- "ols-56694a76"
], - "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}Get status for all rolls of an Ocean cluster.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| OCEAN_ID required | string Example: OCEAN_ID=o-1abcd124 The ID of the Ocean cluster to delete. |
{- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:ocean:aws:k8s:cluster:roll",
- "items": {
- "id": "scr-5aaf854e",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 0
}, - "oceanId": "o-12e31234",
- "instanceIds": [
- "i-0003a99ffb566f039",
- "i-0567a99ffb566f765"
], - "launchSpecIds": [
- "ols-76694a7d",
- "ols-56694a76"
], - "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
}Update a roll of an Ocean cluster.
Performing the request will stop the next batch in a roll
| ROLL_ID required | string Example: scr-12345abc Ocean Cluster Roll ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| OCEAN_ID required | string Example: OCEAN_ID=o-1abcd124 The ID of the Ocean cluster to delete. |
object Settings for roll operation | |||
| |||
{- "roll": {
- "status": "STOPPED"
}
}{- "id": "scr-5aaf854e",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 5,
- "progress": {
- "unit": "percentage",
- "value": 0
}, - "oceanId": "o-12e31234",
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}Get status for roll of an Ocean cluster.
| ROLL_ID required | string Example: scr-12345abc Ocean Cluster Roll ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| OCEAN_ID required | string Example: OCEAN_ID=o-1abcd124 The ID of the Ocean cluster to delete. |
{- "id": "scr-5aaf854e",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 0
}, - "oceanId": "o-12e31234",
- "instanceIds": [
- "i-0003a99ffb566f039",
- "i-0567a99ffb566f765"
], - "launchSpecIds": [
- "ols-76694a7d",
- "ols-56694a76"
], - "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}create launch specification cluster
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
object (AWS Cluster) | |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
{- "launchSpec": {
- "oceanId": "o-123",
- "name": "specialty.nodes.spotk8s.com",
- "imageId": "ami-ID",
- "userData": "dsa89d7uosduxq98sau9s8aux9s8aux09q0qu09axsuix0s9qas09xz",
- "iamInstanceProfile": {
- "arn": "arn:aws:iam::123456781234:instance-profile/EKS-nodes-test-NodeInstanceProfile-ABCDEFGH123",
- "name": "EKS-nodes-test"
}, - "securityGroupIds": [
- "sg-0ded3a2980208c30c",
- "sg-0ded3a2980208c30d"
], - "instanceTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "labels": {
- "0": {
- "key": "env",
- "value": "test"
}, - "1": {
- "key": "env",
- "value": "test"
}
}, - "taints": {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}, - "subnetIds": [
- "subnet-123",
- "subnet-456"
], - "elasticIpPool": {
- "tagSelector": {
- "tagKey": "color",
- "tagValue": "orange"
}
}, - "autoScale": {
- "headroom": {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
}, - "tags": {
- "0": {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
}, - "blockDeviceMappings": {
- "deviceName": "/dev/xvda",
- "ebs": {
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "dynamicVolumeSize": {
- "baseSize": 10,
- "resource": "CPU",
- "sizePerResourceUnit": 1
}, - "volumeType": "standard"
}
}, - "resourceLimits": {
- "maxInstanceCount": 5
}
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "launchSpec": {
- "oceanId": "o-123",
- "name": "specialty.nodes.spotk8s.com",
- "imageId": "ami-ID",
- "userData": "dsa89d7uosduxq98sau9s8aux9s8aux09q0qu09axsuix0s9qas09xz",
- "iamInstanceProfile": {
- "arn": "arn:aws:iam::123456781234:instance-profile/EKS-nodes-test-NodeInstanceProfile-ABCDEFGH123",
- "name": "EKS-nodes-test"
}, - "securityGroupIds": [
- "sg-0ded3a2980208c30c",
- "sg-0ded3a2980208c30d"
], - "instanceTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "labels": {
- "0": {
- "key": "env",
- "value": "test"
}, - "1": {
- "key": "env",
- "value": "test"
}
}, - "taints": {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}, - "subnetIds": [
- "subnet-123",
- "subnet-456"
], - "elasticIpPool": {
- "tagSelector": {
- "tagKey": "color",
- "tagValue": "orange"
}
}, - "autoScale": {
- "headroom": {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
}, - "tags": {
- "0": {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
}, - "blockDeviceMappings": {
- "deviceName": "/dev/xvda",
- "ebs": {
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "dynamicVolumeSize": {
- "baseSize": 10,
- "resource": "CPU",
- "sizePerResourceUnit": 1
}, - "volumeType": "standard"
}
}, - "resourceLimits": {
- "maxInstanceCount": 5
}
}, - "createdAt": "2018-11-05T12:55:50.000+0000",
- "updatedAt": "2018-11-05T12:58:15.000+0000"
}, - "count": 1,
- "kind": "string"
}
}| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| OCEAN_ID required | string Example: OCEAN_ID=o-1abcd124 The ID of the Ocean cluster to delete. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "launchSpec": {
- "oceanId": "o-123",
- "name": "specialty.nodes.spotk8s.com",
- "imageId": "ami-ID",
- "userData": "dsa89d7uosduxq98sau9s8aux9s8aux09q0qu09axsuix0s9qas09xz",
- "iamInstanceProfile": {
- "arn": "arn:aws:iam::123456781234:instance-profile/EKS-nodes-test-NodeInstanceProfile-ABCDEFGH123",
- "name": "EKS-nodes-test"
}, - "securityGroupIds": [
- "sg-0ded3a2980208c30c",
- "sg-0ded3a2980208c30d"
], - "instanceTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "labels": {
- "0": {
- "key": "env",
- "value": "test"
}, - "1": {
- "key": "env",
- "value": "test"
}
}, - "taints": {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}, - "subnetIds": [
- "subnet-123",
- "subnet-456"
], - "elasticIpPool": {
- "tagSelector": {
- "tagKey": "color",
- "tagValue": "orange"
}
}, - "autoScale": {
- "headroom": {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
}, - "tags": {
- "0": {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
}, - "blockDeviceMappings": {
- "deviceName": "/dev/xvda",
- "ebs": {
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "dynamicVolumeSize": {
- "baseSize": 10,
- "resource": "CPU",
- "sizePerResourceUnit": 1
}, - "volumeType": "standard"
}
}, - "resourceLimits": {
- "maxInstanceCount": 5
}
}, - "createdAt": "2018-11-05T12:55:50.000+0000",
- "updatedAt": "2018-11-05T12:58:15.000+0000"
}, - "count": 1,
- "kind": "string"
}
}Delete a specified launch specification in an Ocean cluster.
| deleteNodes | boolean Example: true When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated. |
| OCEAN_LAUNCH_SPEC_ID required | string Ocean cluster launchSpec ID. |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "a608777a-a1c5-4f34-b30b-3f7355e3926b",
- "url": "/ocean/aws/k8s/cluster/o-12we32df?accountId=act-7461123d",
- "method": "DELETE",
- "timestamp": "2019-06-18T07:59:45.892Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:ocean:aws:k8s",
- "items": [ ],
- "count": 0
}
}create launch specification cluster
| autoApplyTags | boolean Example: true Ocean cluster launchSpec ID. Can get launchSpec ID with get call. |
| OCEAN_LAUNCH_SPEC_ID required | string Ocean cluster launchSpec ID. |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
object (AWS Cluster) | |||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||
{- "launchSpec": {
- "oceanId": "o-123",
- "name": "specialty.nodes.spotk8s.com",
- "imageId": "ami-ID",
- "userData": "dsa89d7uosduxq98sau9s8aux9s8aux09q0qu09axsuix0s9qas09xz",
- "iamInstanceProfile": {
- "arn": "arn:aws:iam::123456781234:instance-profile/EKS-nodes-test-NodeInstanceProfile-ABCDEFGH123",
- "name": "EKS-nodes-test"
}, - "securityGroupIds": [
- "sg-0ded3a2980208c30c",
- "sg-0ded3a2980208c30d"
], - "instanceTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "labels": {
- "0": {
- "key": "env",
- "value": "test"
}, - "1": {
- "key": "env",
- "value": "test"
}
}, - "taints": {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}, - "subnetIds": [
- "subnet-123",
- "subnet-456"
], - "elasticIpPool": {
- "tagSelector": {
- "tagKey": "color",
- "tagValue": "orange"
}
}, - "autoScale": {
- "headroom": {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
}, - "tags": {
- "0": {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
}, - "blockDeviceMappings": {
- "deviceName": "/dev/xvda",
- "ebs": {
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "dynamicVolumeSize": {
- "baseSize": 10,
- "resource": "CPU",
- "sizePerResourceUnit": 1
}, - "volumeType": "standard"
}
}, - "resourceLimits": {
- "maxInstanceCount": 5
}
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "launchSpec": {
- "oceanId": "o-123",
- "name": "specialty.nodes.spotk8s.com",
- "imageId": "ami-ID",
- "userData": "dsa89d7uosduxq98sau9s8aux9s8aux09q0qu09axsuix0s9qas09xz",
- "iamInstanceProfile": {
- "arn": "arn:aws:iam::123456781234:instance-profile/EKS-nodes-test-NodeInstanceProfile-ABCDEFGH123",
- "name": "EKS-nodes-test"
}, - "securityGroupIds": [
- "sg-0ded3a2980208c30c",
- "sg-0ded3a2980208c30d"
], - "instanceTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "labels": {
- "0": {
- "key": "env",
- "value": "test"
}, - "1": {
- "key": "env",
- "value": "test"
}
}, - "taints": {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}, - "subnetIds": [
- "subnet-123",
- "subnet-456"
], - "elasticIpPool": {
- "tagSelector": {
- "tagKey": "color",
- "tagValue": "orange"
}
}, - "autoScale": {
- "headroom": {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
}, - "tags": {
- "0": {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
}, - "blockDeviceMappings": {
- "deviceName": "/dev/xvda",
- "ebs": {
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "dynamicVolumeSize": {
- "baseSize": 10,
- "resource": "CPU",
- "sizePerResourceUnit": 1
}, - "volumeType": "standard"
}
}, - "resourceLimits": {
- "maxInstanceCount": 5
}
}, - "createdAt": "2018-11-05T12:55:50.000+0000",
- "updatedAt": "2018-11-05T12:58:15.000+0000"
}, - "count": 1,
- "kind": "string"
}
}| OCEAN_LAUNCH_SPEC_ID required | string Ocean cluster launchSpec ID. |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": {
- "launchSpec": {
- "oceanId": "o-123",
- "name": "specialty.nodes.spotk8s.com",
- "imageId": "ami-ID",
- "userData": "dsa89d7uosduxq98sau9s8aux9s8aux09q0qu09axsuix0s9qas09xz",
- "iamInstanceProfile": {
- "arn": "arn:aws:iam::123456781234:instance-profile/EKS-nodes-test-NodeInstanceProfile-ABCDEFGH123",
- "name": "EKS-nodes-test"
}, - "securityGroupIds": [
- "sg-0ded3a2980208c30c",
- "sg-0ded3a2980208c30d"
], - "instanceTypes": [
- "c3.2xlarge",
- "c4.2xlarge"
], - "rootVolumeSize": 8,
- "labels": {
- "0": {
- "key": "env",
- "value": "test"
}, - "1": {
- "key": "env",
- "value": "test"
}
}, - "taints": {
- "key": "taintKey",
- "value": "taintValue",
- "effect": "NoSchedule"
}, - "subnetIds": [
- "subnet-123",
- "subnet-456"
], - "elasticIpPool": {
- "tagSelector": {
- "tagKey": "color",
- "tagValue": "orange"
}
}, - "autoScale": {
- "headroom": {
- "cpuPerUnit": 1000,
- "memoryPerUnit": 2048,
- "gpuPerUnit": 0,
- "numOfUnits": 3
}
}, - "tags": {
- "0": {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
}, - "blockDeviceMappings": {
- "deviceName": "/dev/xvda",
- "ebs": {
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "dynamicVolumeSize": {
- "baseSize": 10,
- "resource": "CPU",
- "sizePerResourceUnit": 1
}, - "volumeType": "standard"
}
}, - "resourceLimits": {
- "maxInstanceCount": 5
}
}, - "createdAt": "2018-11-05T12:55:50.000+0000",
- "updatedAt": "2018-11-05T12:58:15.000+0000"
}, - "count": 1,
- "kind": "string"
}
}This API creates an Ocean cluster launch specification configuration according to an AWS autoscaling group (ASG) configuration. By using the API, Create Launch Specification, you can then use the returned launch specification to create an actual Ocean launch specification. This API fetches an AWS ASG and converts it to a launch specification template. The response returned is an “imported” launch specification from the ASG in the required JSON format which you can then use in the Create Launch Specification API.
| autoScalingGroupName required | string The ASG name. |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| OCEAN_ID required | string Example: OCEAN_ID=o-1abcd124 The ID of the Ocean cluster to delete. |
{- "oceanId": "o-500a5d5a",
- "name": "TestTeam1",
- "imageId": "ami-0ce21b51cb55a48b8",
- "securityGroupIds": [
- "subnet-00cab2dd9f40a9883",
- "subnet-0df9d512c7cbbd9e1"
], - "tags": {
- "tagKey": "AmazonECSManaged",
- "tagValue": ""
}
}Ocean - Serverless containers for Amazon Elastic Container Service (ECS)
Get the configurations for all Ocean cluster in the specified account.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "id": "o-12345abc",
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVcpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5,
- "unit": "instance"
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "launchSpecification": {
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string"
}
]
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}Create a new Ocean ECS cluster in the specified account.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object (ECS Ocean) | ||||||||||||||||
| |||||||||||||||||
{- "cluster": {
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVcpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5,
- "unit": "instance"
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "launchSpecification": {
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string"
}
]
}
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "id": "o-12345abc",
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVcpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5,
- "unit": "instance"
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "launchSpecification": {
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string"
}
]
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}Get the configurations for a specified Ocean cluster.
| oceanClusterId required | string Example: o-12345abc Ocean Cluster ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "id": "o-12345abc",
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVcpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5,
- "unit": "instance"
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "launchSpecification": {
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string"
}
]
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}All Ocean parameters are updatable, excluding the Region and ID. This API supports partial updates, so specific fields can be updated separately.
| oceanClusterId required | string Example: o-12345abc Ocean Cluster ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| autoApplyTags | boolean Default: false Example: autoApplyTags=true Optionally update resource tags on the fly without performing a roll. |
required | object (ECS Ocean) | ||||||||||||||||
| |||||||||||||||||
{- "cluster": {
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVcpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5,
- "unit": "instance"
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "launchSpecification": {
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string"
}
]
}
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "id": "o-12345abc",
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVcpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5,
- "unit": "instance"
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "launchSpecification": {
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string"
}
]
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}Delete a specified Ocean cluster.
| oceanClusterId required | string Example: o-12345abc Ocean Cluster ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Upgrade an Elastigroup with ECS integration into Ocean for ECS cluster.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| groupId required | string Example: groupId=sig-1234abcd The Elastigroup ID to upgrade. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "cluster": {
- "id": "o-12345abc",
- "name": "Ocean::my-elastigroup-name",
- "clusterName": "my-ECS-cluster-name",
- "autoScaler": {
- "isEnabled": true,
- "cooldown": 300,
- "resourceLimits": {
- "maxMemoryGib": 1,
- "maxVcpu": 1
}, - "down": {
- "evaluationPeriods": 4,
- "maxScaleDownPercentage": 20
}, - "headroom": {
- "cpuPerUnit": 2048,
- "memoryPerUnit": 3,
- "numOfUnits": 2
}, - "isAutoConfig": false,
- "autoHeadroomPercentage": 20,
- "shouldScaleDownNonServiceTasks": true
}, - "region": "us-east-1",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5,
- "unit": "instance"
}, - "strategy": {
- "utilizeReservedInstances": true,
- "fallbackToOd": true,
- "spotPercentage": 100,
- "drainingTimeout": 200
}, - "compute": {
- "subnetIds": [
- "subnet-1234abcd"
], - "launchSpecification": {
- "imageId": "ami-123456789abcdefgh",
- "securityGroupIds": [
- "sg-abcdefgh123456789"
], - "iamInstanceProfile": {
- "arn": "my-arn"
}
}
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": false,
- "cronExpression": "string"
}
]
}, - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}Roll an entire Ocean cluster or roll subsets of the cluster by specifying launchSpecIds or instanceIds. Performing this request will start the roll immediately, by defined batches. Note that the first response for a successful request will notify for starting a roll. In order to check the status of a roll, you can use the GET Roll API using the roll ID.
| oceanClusterId required | string Example: o-12345abc Ocean Cluster ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| batchSizePercentage | integer Value in % to set size of batch in roll. Valid values are 0-100 |
| comment | string Add a comment description for the roll. comment should be limit to 256 chars. |
{- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster.",
- "launchSpecIds": [
- "ols-76694a7d, ols-56694a76"
]
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-1234abcd",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 10
}, - "oceanId": "o-abcd1234",
- "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "status": "STOPPED",
- "comment": "This is why I deployed my cluster."
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:cluster:roll"
}
}Get status for roll of an Ocean cluster.
| oceanClusterId required | string Example: o-12345abc Ocean Cluster ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-1234abcd",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 10
}, - "oceanId": "o-abcd1234",
- "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "status": "STOPPED",
- "comment": "This is why I deployed my cluster."
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:cluster:roll"
}
}Update a roll of an Ocean cluster. Performing the request will stop the next batch in a roll.
| oceanClusterId required | string Example: o-12345abc Ocean Cluster ID |
| ROLL_ID required | string Example: scr-12345abc Ocean Cluster Roll ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| comment | string Add a comment description for the roll. comment should be limit to 256 chars. |
| status | string Set status to roll. |
{- "status": "STOPPED",
- "comment": "This is why I deployed my cluster."
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-1234abcd",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 10
}, - "oceanId": "o-abcd1234",
- "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "status": "STOPPED",
- "comment": "This is why I deployed my cluster."
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:cluster:roll"
}
}Get status for roll of an Ocean cluster.
| oceanClusterId required | string Example: o-12345abc Ocean Cluster ID |
| ROLL_ID required | string Example: scr-12345abc Ocean Cluster Roll ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-1234abcd",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 10
}, - "oceanId": "o-abcd1234",
- "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "status": "STOPPED",
- "comment": "This is why I deployed my cluster."
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs:cluster:roll"
}
}Create a new Ocean ECS LaunchSpecification in the specified account.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
object | |||||||||||||||||||||||
| |||||||||||||||||||||||
{- "launchSpec": {
- "oceanId": "o-1234abcd",
- "name": "mySpecLauncher",
- "imageId": "img2",
- "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "securityGroupIds": [
- "sg1, sg3"
], - "subnetIds": [
- "subnet-01234566789abcdef, subnet-9876543210ghijkl"
], - "iamInstanceProfile": [
- "arn:aws:iam::123456789123:instance-profile"
], - "attributes": [
- {
- "key": "key1",
- "value": "value1"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
]
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "launchSpec": {
- "id": "ols-1234abcd",
- "oceanId": "o-1234abcd",
- "name": "mySpecLauncher",
- "imageId": "img2",
- "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "securityGroupIds": [
- "sg1, sg3"
], - "subnetIds": [
- "subnet-01234566789abcdef, subnet-9876543210ghijkl"
], - "iamInstanceProfile": [
- "arn:aws:iam::123456789123:instance-profile"
], - "attributes": [
- {
- "key": "key1",
- "value": "value1"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
]
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}Get all the custom launch configurations for all Ocean cluster in the specified account.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "launchSpec": {
- "id": "ols-1234abcd",
- "oceanId": "o-1234abcd",
- "name": "mySpecLauncher",
- "imageId": "img2",
- "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "securityGroupIds": [
- "sg1, sg3"
], - "subnetIds": [
- "subnet-01234566789abcdef, subnet-9876543210ghijkl"
], - "iamInstanceProfile": [
- "arn:aws:iam::123456789123:instance-profile"
], - "attributes": [
- {
- "key": "key1",
- "value": "value1"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
]
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}Get a specific custom launch configuration for an Ocean cluster in the specified account.
| OCEAN_LAUNCH_SPEC_ID required | string Ocean cluster launchSpec ID. |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "launchSpec": {
- "id": "ols-1234abcd",
- "oceanId": "o-1234abcd",
- "name": "mySpecLauncher",
- "imageId": "img2",
- "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "securityGroupIds": [
- "sg1, sg3"
], - "subnetIds": [
- "subnet-01234566789abcdef, subnet-9876543210ghijkl"
], - "iamInstanceProfile": [
- "arn:aws:iam::123456789123:instance-profile"
], - "attributes": [
- {
- "key": "key1",
- "value": "value1"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
]
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}Delete a specified launch specification in an Ocean cluster.
| OCEAN_LAUNCH_SPEC_ID required | string Ocean cluster launchSpec ID. |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| deleteContainerInstances | any Example: deleteContainerInstances=true When set to "true", all instances belonging to the deleted launch specification will be drained, detached, and terminated. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "launchSpec": {
- "id": "ols-1234abcd",
- "oceanId": "o-1234abcd",
- "name": "mySpecLauncher",
- "imageId": "img2",
- "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "securityGroupIds": [
- "sg1, sg3"
], - "subnetIds": [
- "subnet-01234566789abcdef, subnet-9876543210ghijkl"
], - "iamInstanceProfile": [
- "arn:aws:iam::123456789123:instance-profile"
], - "attributes": [
- {
- "key": "key1",
- "value": "value1"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
]
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}Get a specific custom launch configuration for an Ocean cluster in the specified account.
| OCEAN_LAUNCH_SPEC_ID required | string Ocean cluster launchSpec ID. |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| autoApplyTags | boolean Default: false Example: autoApplyTags=true Optionally update resource tags on the fly without performing a roll. |
object | |||||||||||||||||||||||
| |||||||||||||||||||||||
{- "launchSpec": {
- "oceanId": "o-1234abcd",
- "name": "mySpecLauncher",
- "imageId": "img2",
- "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "securityGroupIds": [
- "sg1, sg3"
], - "subnetIds": [
- "subnet-01234566789abcdef, subnet-9876543210ghijkl"
], - "iamInstanceProfile": [
- "arn:aws:iam::123456789123:instance-profile"
], - "attributes": [
- {
- "key": "key1",
- "value": "value1"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
]
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "launchSpec": {
- "id": "ols-1234abcd",
- "oceanId": "o-1234abcd",
- "name": "mySpecLauncher",
- "imageId": "img2",
- "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "securityGroupIds": [
- "sg1, sg3"
], - "subnetIds": [
- "subnet-01234566789abcdef, subnet-9876543210ghijkl"
], - "iamInstanceProfile": [
- "arn:aws:iam::123456789123:instance-profile"
], - "attributes": [
- {
- "key": "key1",
- "value": "value1"
}
], - "autoScale": {
- "headrooms": [
- {
- "cpuPerUnit": 1024,
- "memoryPerUnit": 512,
- "numOfUnits": 2
}
]
}, - "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "John Doe"
}
], - "createdAt": "2019-06-03T08:13:08.000Z",
- "updatedAt": "2019-06-10T15:06:13.000Z",
- "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvda",
- "ebs": {
- "deleteOnTermination": false,
- "encrypted": false,
- "iops": 1,
- "kmsKeyId": "alias/aws/ebs",
- "snapshotId": "snap-abcdefghi111110",
- "volumeType": "gp2",
- "volumeSize": 0,
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}
}
}
]
}
}
], - "count": 1,
- "kind": "spotinst:ocean:aws:ecs"
}
}Ocean - Serverless containers for for Google Kubernetes Engine
Ocean On-Premises API - Understand cost drivers within you on-premises clusters and compare the costs to the Ocean Cloud.
Create a new Ocean On-Prem entity.
Prerequisites
The Spot Controller is used to monitor the cluster resources and report back to Ocean and is required for Ocean On-Prem. To install the Spot Controller, complete and run the following script on a machine with kubectl command line tool installed and configured:
#!/usr/bin/env bash
curl -fsSL http://spotinst-public.s3.amazonaws.com/integrations/kubernetes/cluster-controller/scripts/init.sh | \
SPOTINST_TOKEN=<ENTER YOUR TOKEN HERE> \
SPOTINST_ACCOUNT=<ENTER YOUR SPOTINST ACCOUNT ID HERE> \
SPOTINST_CLUSTER_IDENTIFIER=<ENTER YOUR CLUSTER IDENTIFIER HERE> \
bash
For more on the Spot controller and Ocean’s anatomy see the documentation here.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object | ||||||||
| |||||||||
{- "cluster": {
- "name": "oceanName",
- "descriotion": "Development",
- "controllerClusterIdentifier": "k8sCluster",
- "pricePerUnit": {
- "cpuHour": 0.015,
- "memoryHour": 0.002
}
}
}{- "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:ocean:onprem:k8s",
- "items": {
- "id": "o-18887922",
- "name": "oceanName",
- "description": "development",
- "controllerClusterIdentifier": "k8sCluster",
- "pricePerUnit": {
- "cpuHour": 0.015,
- "memoryHour": 0.002
}, - "createdAt": "2018-11-26T09:39:52.933Z",
- "updatedAt": "2018-11-26T09:39:52.933Z"
}, - "count": 1
}
}List the configurations for all Ocean cluster in the specified account.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:ocean:onprem:k8s",
- "items": {
- "id": "o-18887922",
- "name": "oceanName",
- "description": "development",
- "controllerClusterIdentifier": "k8sCluster",
- "pricePerUnit": {
- "cpuHour": 0.015,
- "memoryHour": 0.002
}, - "createdAt": "2018-11-26T09:39:52.933Z",
- "updatedAt": "2018-11-26T09:39:52.933Z"
}, - "count": 1
}
}Delete an Ocean On-Prem cluster entity in Spot Ocean. This DOES NOT affect your on-prem cluster.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| OCEAN_ID required | string Example: OCEAN_ID=o-1abcd124 The ID of the Ocean cluster to delete. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Get the configurations for the specified Ocean On-Prem cluster entity.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| OCEAN_ID required | string Example: OCEAN_ID=o-1abcd124 The ID of the Ocean cluster to delete. |
{- "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:ocean:onprem:k8s",
- "items": {
- "id": "o-18887922",
- "name": "oceanName",
- "description": "development",
- "controllerClusterIdentifier": "k8sCluster",
- "pricePerUnit": {
- "cpuHour": 0.015,
- "memoryHour": 0.002
}, - "createdAt": "2018-11-26T09:39:52.933Z",
- "updatedAt": "2018-11-26T09:39:52.933Z"
}, - "count": 1
}
}All Ocean on-prem parameters are updatable. This API supports partial updates, so specific fields can be updated separately.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| OCEAN_ID required | string Example: OCEAN_ID=o-1abcd124 The ID of the Ocean cluster to delete. |
required | object (AWS Cluster) |
| group | object |
{- "cluster": {
- "name": "oceanName",
- "descriotion": "Development",
- "controllerClusterIdentifier": "k8sCluster",
- "pricePerUnit": {
- "cpuHour": 0.015,
- "memoryHour": 0.002
}
}, - "group": { }
}{- "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:ocean:onprem:k8s",
- "items": {
- "id": "o-18887922",
- "name": "oceanName",
- "description": "development",
- "controllerClusterIdentifier": "k8sCluster",
- "pricePerUnit": {
- "cpuHour": 0.015,
- "memoryHour": 0.002
}, - "createdAt": "2018-11-26T09:39:52.933Z",
- "updatedAt": "2018-11-26T09:39:52.933Z"
}, - "count": 1
}
}Create a new AWS Elastigroup
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object Group | ||||||||||||||||||||
| |||||||||||||||||||||
{- "group": {
- "name": "Elastigroup name",
- "strategy": {
- "risk": 100,
- "onDemandCount": null,
- "availabilityVsCost": "balanced",
- "drainingTimeout": 120,
- "fallbackToOd": true,
- "scalingStrategy": { },
- "lifetimePeriod": "days",
- "revertToSpot": {
- "performAt": "always"
}, - "persistence": { }
}, - "capacity": {
- "target": 1,
- "minimum": 0,
- "maximum": 5,
- "unit": "instance"
}, - "scaling": {
- "up": null,
- "down": null
}, - "compute": {
- "instanceTypes": {
- "ondemand": "t3.nano",
- "spot": [
- "t3.nano"
]
}, - "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetIds": [
- "subnet-4333093a"
]
}
], - "product": "Linux/UNIX",
- "launchSpecification": {
- "securityGroupIds": [
- "sg-a22000e8"
], - "monitoring": false,
- "ebsOptimized": false,
- "imageId": "ami-082b5a644766e0e6f Indicator",
- "keyPair": "KeyPair",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "name@mail.com"
}
], - "healthCheckType": null,
- "tenancy": "default",
- "userData": null,
- "shutdownScript": null
}, - "elasticIps": null,
- "preferredAvailabilityZones": null
}, - "multai": null,
- "scheduling": { },
- "thirdPartiesIntegration": { },
- "createdAt": "2020-10-01T05:23:59.302Z",
- "updatedAt": "2020-10-01T05:23:59.302Z"
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/aws/ec2/group",
- "method": "POST",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- {
- "group": {
- "name": "Elastigroup name",
- "strategy": {
- "risk": 100,
- "onDemandCount": null,
- "availabilityVsCost": "balanced",
- "drainingTimeout": 120,
- "fallbackToOd": true,
- "scalingStrategy": { },
- "lifetimePeriod": "days",
- "revertToSpot": {
- "performAt": "always"
}, - "persistence": { }
}, - "capacity": {
- "target": 1,
- "minimum": 0,
- "maximum": 5,
- "unit": "instance"
}, - "scaling": {
- "up": null,
- "down": null
}, - "compute": {
- "instanceTypes": {
- "ondemand": "t3.nano",
- "spot": [
- "t3.nano"
]
}, - "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetIds": [
- "subnet-4333093a"
]
}
], - "product": "Linux/UNIX",
- "launchSpecification": {
- "securityGroupIds": [
- "sg-a22000e8"
], - "monitoring": false,
- "ebsOptimized": false,
- "imageId": "ami-082b5a644766e0e6f Indicator",
- "keyPair": "KeyPair",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "name@mail.com"
}
], - "healthCheckType": null,
- "tenancy": "default",
- "userData": null,
- "shutdownScript": null
}, - "elasticIps": null,
- "preferredAvailabilityZones": null
}, - "multai": null,
- "scheduling": { },
- "thirdPartiesIntegration": { },
- "createdAt": "2020-10-01T05:23:59.302Z",
- "updatedAt": "2020-10-01T05:23:59.302Z"
}
}
], - "count": 1
}
}List all AWS Elastigroups for a Spot Account
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "67582d0c-108b-4ef7-9fdc-d39678a30844",
- "url": "/aws/ec2/group",
- "method": "GET",
- "timestamp": "2018-01-07T07:30:58.622Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- [
- {
- "id": "sig-1234567",
- "name": "EG name",
- "description": "validation",
- "capacity": {
- "minimum": 1,
- "maximum": 1,
- "target": 1,
- "unit": "instance"
}, - "strategy": {
- "risk": 0,
- "onDemandCount": null,
- "availabilityVsCost": "balanced"
}, - "compute": {
- "instanceTypes": {
- "ondemand": "m3.large",
- "spot": [
- "c3.large m3.large"
]
}, - "availabilityZones": {
- "name": "us-west-2a",
- "subnetIds": [
- "subnet-1234567"
]
}, - "product": "Linux/UNIX",
- "launchSpecification": {
- "securityGroupIds": [
- "sg-1234567"
], - "monitoring": true,
- "imageId": "ami-987654",
- "keyPair": "keyp",
- "userData": null
}
}, - "scaling": {
- "up": {
- "policyName": "up Scaling Policy 1",
- "metricName": "CPUUtilization",
- "statistic": "maximum",
- "unit": "percent",
- "threshold": 90,
- "adjustment": 2,
- "namespace": "AWS/EC2",
- "period": 300,
- "evaluationPeriods": 3,
- "cooldown": 60
}, - "down": {
- "policyName": "down Scaling Policy 1",
- "metricName": "CPUUtilization",
- "statistic": "maximum",
- "unit": "percent",
- "threshold": 50,
- "adjustment": 2,
- "namespace": "AWS/EC2",
- "period": 300,
- "evaluationPeriods": 3,
- "cooldown": 60,
- "dimensions": [
- {
- "name": "InstanceId"
}
]
}
}, - "scheduling": {
- "tasks": [
- {
- "frequency": "weekly",
- "taskType": "backup_ami"
}
]
}, - "thirdPartiesIntegration": { },
- "createdAt": "2016-02-16T09:03:23.000Z",
- "updatedAt": "2018-01-07T00:10:30.000Z"
}, - {
- "id": "sig-897654",
- "name": "Test EG",
- "description": "Test",
- "capacity": {
- "minimum": 0,
- "maximum": 0,
- "target": 0,
- "unit": "instance"
}, - "strategy": {
- "risk": 100,
- "onDemandCount": null,
- "availabilityVsCost": "balanced"
}, - "compute": {
- "instanceTypes": {
- "ondemand": "m3.large",
- "spot": [
- "m3.large c3.large"
]
}, - "availabilityZones": {
- "name": "us-west-2b",
- "subnetIds": [
- "subnet-657493"
]
}, - "product": "Linux/UNIX",
- "launchSpecification": {
- "securityGroupIds": [
- "sg-987126"
], - "monitoring": true,
- "imageId": "ami-87236464",
- "keyPair": "PairKey",
- "userData": null
}
}, - "scaling": {
- "up": {
- "policyName": "up Scaling Policy 1",
- "metricName": "CPUUtilization",
- "statistic": "maximum",
- "unit": "percent",
- "threshold": 90,
- "adjustment": 2,
- "namespace": "AWS/EC2",
- "period": 300,
- "evaluationPeriods": 3,
- "cooldown": 60
}, - "down": {
- "policyName": "down Scaling Policy 1",
- "metricName": "CPUUtilization",
- "statistic": "maximum",
- "unit": "percent",
- "threshold": 50,
- "adjustment": 2,
- "namespace": "AWS/EC2",
- "period": 300,
- "evaluationPeriods": 3,
- "cooldown": 60,
- "dimensions": [
- {
- "name": "InstanceId"
}
]
}
}, - "scheduling": {
- "tasks": [
- {
- "frequency": "weekly",
- "taskType": "backup_ami"
}
]
}, - "thirdPartiesIntegration": { },
- "createdAt": "2016-02-16T06:35:03.000Z",
- "updatedAt": "2016-02-16T10:21:01.000Z"
}
]
], - "count": 2
}
}Describe a specific Elastigroup JSON
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| autoApplyTags | boolean Default: false Example: autoApplyTags=true Optionally update resource tags on the fly without performing a roll. |
API call accept several bodies, please choose
object (group) | |||||||||||
| |||||||||||
{- "group": {
- "capacity": {
- "target": 1,
- "minimum": 1,
- "maximum": 1
}
}
}{- "request": {
- "id": "e32c17b8-384f-4977-ac8f-0644b7b71c3e",
- "url": "/aws/ec2/group/sig-10fe5fc4?autoApplyTags=true",
- "method": "PUT",
- "timestamp": "2020-09-29T13:43:05.231Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- {
- "id": "sig-1234567",
- "name": "EG Name",
- "description": "Test description",
- "capacity": {
- "minimum": 1,
- "maximum": 1,
- "target": 1,
- "unit": "instance"
}, - "strategy": {
- "risk": 100,
- "onDemandCount": null,
- "availabilityVsCost": "balanced",
- "lifetimePeriod": "days",
- "fallbackToOd": true,
- "persistence": { },
- "scalingStrategy": { },
- "revertToSpot": {
- "performAt": "always"
}
}, - "compute": {
- "instanceTypes": {
- "ondemand": "c3.4xlarge",
- "spot": [
- "c3.2xlarge",
- "c4.2xlarge"
]
}, - "availabilityZones": {
- "name": "eu-west-1b",
- "subnetIds": [
- "eu-west-1b"
]
}, - "product": "Linux/UNIX (Amazon VPC)",
- "launchSpecification": {
- "loadBalancerNames": null,
- "loadBalancersConfig": {
- "loadBalancers": null
}, - "healthCheckGracePeriod": 300,
- "securityGroupIds": [
- "sg-1234567"
], - "monitoring": false,
- "ebsOptimized": false,
- "imageId": "ami-1234567",
- "iamRole": {
- "name": null,
- "arn": "arn:aws:iam::1234356789:instance-profile/Loader"
}, - "keyPair": "PA",
- "userData": "sldkfoisnfgodng",
- "shutdownScript": null,
- "tags": {
- "tagKey": "Env",
- "tagValue": "TEST"
}, - "tenancy": "default"
}
}, - "scaling": {
- "up": "string",
- "down": "string",
- "target": "string"
}, - "scheduling": {
- "tasks": [
- {
- "frequency": "hourly",
- "taskType": "backup_ami"
}, - {
- "isEnabled": true,
- "taskType": "scale",
- "cronExpression": "55 19 * * 0-4",
- "scaleTargetCapacity": 1,
- "scaleMinCapacity": 1,
- "scaleMaxCapacity": 1
}, - {
- "groupId": "sig-12345",
- "eventType": "Scale",
- "createdAt": "2016-01-21T16:51:09.000+0000",
- "subEvents": {
- "type": "scaleUp",
- "terminatedSpots": [
- {
- "spotInstanceRequestId": "sir-029404xk"
}, - {
- "instanceId": "i-7fb4facc"
}
], - "terminatedInstances": [ ]
}
}
]
}, - "thirdPartiesIntegration": { },
- "createdAt": "2015-10-23T09:00:00.000Z",
- "updatedAt": "2018-08-01T14:11:39.000Z"
}
], - "count": 1
}
}Delete an Elastigroup AWS
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
object (AMI Dellocation Options) | |
object (Beanstalk Dellocation Options) | |
object (Stateful deallocation options) |
{- "statefulDeallocation": {
- "shouldDeleteImages": false,
- "shouldDeleteNetworkInterfaces": true,
- "shouldDeleteVolumes": false,
- "shouldDeleteSnapshots": false
}, - "beanstalk": {
- "rollbackToAsg": true
}, - "amiBackup": {
- "shouldDeleteImages": false
}
}{- "request": {
- "id": "67582d0c-108b-4ef7-9fdc-d39678a30844",
- "url": "/aws/ec2/group/sig-1234567",
- "method": "GET",
- "timestamp": "2018-01-07T07:30:58.622Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- {
- "id": "sig-1234567",
- "name": "EG",
- "description": "validation",
- "capacity": {
- "minimum": 1,
- "maximum": 1,
- "target": 1,
- "unit": "instance"
}, - "strategy": {
- "risk": 100,
- "onDemandCount": null,
- "availabilityVsCost": "balanced",
- "lifetimePeriod": "days",
- "fallbackToOd": true,
- "persistence": { },
- "revertToSpot": {
- "performAt": "always"
}
}, - "compute": {
- "instanceTypes": {
- "ondemand": "c3.4xlarge",
- "spot": [
- "c3.2xlarge",
- "c4.2xlarge"
]
}, - "availabilityZones": {
- "name": "eu-west-1b",
- "subnetIds": [
- "eu-west-1b"
]
}, - "product": "Linux/UNIX (Amazon VPC)",
- "launchSpecification": {
- "loadBalancerNames": null,
- "loadBalancersConfig": {
- "loadBalancers": null
}, - "healthCheckGracePeriod": 300,
- "securityGroupIds": [
- "sg-1234567"
], - "monitoring": false,
- "ebsOptimized": false,
- "imageId": "ami-1234567",
- "iamRole": {
- "name": null,
- "arn": "arn:aws:iam::1234356789:instance-profile/Loader"
}, - "keyPair": "PA",
- "userData": "sldkfoisnfgodng",
- "shutdownScript": null,
- "tags": {
- "tagKey": "Env",
- "tagValue": "TEST"
}, - "tenancy": "default"
}
}, - "scaling": { },
- "scheduling": {
- "tasks": [
- {
- "frequency": "hourly",
- "taskType": "backup_ami"
}, - {
- "isEnabled": true,
- "taskType": "scale",
- "cronExpression": "55 19 * * 0-4",
- "scaleTargetCapacity": 1,
- "scaleMinCapacity": 1,
- "scaleMaxCapacity": 1
}, - {
- "groupId": "sig-12345",
- "eventType": "Scale",
- "createdAt": "2016-01-21T16:51:09.000+0000",
- "subEvents": {
- "type": "scaleUp",
- "terminatedSpots": [
- {
- "spotInstanceRequestId": "sir-029404xk"
}, - {
- "instanceId": "i-7fb4facc"
}
], - "terminatedInstances": [ ]
}
}
]
}, - "thirdPartiesIntegration": { },
- "multai": null,
- "createdAt": "2015-10-23T09:00:00.000Z",
- "updatedAt": "2018-08-01T14:11:39.000Z"
}
], - "count": 1
}
}Describe a specific Elastigroup JSON
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "3b750eff-3940-46b3-a309-aa2b415272fd",
- "url": "/aws/ec2/group/sig-98765",
- "method": "DELETE",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Create a beanstalk elastigroup with the following steps:
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object | ||||||||||||||
| |||||||||||||||
{- "group": {
- "name": "First Elastigroup",
- "description": "This is the first Spot Elastigroup of many",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5
}, - "strategy": {
- "risk": 100
}, - "compute": {
- "instanceTypes": {
- "ondemand": "t2.micro",
- "spot": [
- "t2.micro"
]
}, - "availabilityZones": [
- {
- "name": "us-west-2a"
}
], - "launchSpecification": {
- "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "awseb-AWSEB-12345",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:842422002533:targetgroup/awseb-AWSEB-12345/245f20215d9ba7fc",
- "type": "TARGET_GROUP"
}
]
}, - "healthCheckType": "EC2",
- "securityGroupIds": [
- "sg-12345"
], - "monitoring": true,
- "imageId": "ami-12345",
- "iamRole": {
- "name": "aws-elasticbeanstalk-ec2-role"
}, - "userData": "Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01MTg5MDY1Mzc3MjIyODk4NDA3PT0iCk1JTUUtVmVyc2lvbjogMS4wCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQpDb250ZW50LVR5cGU6IHRleHQvY2xvdWQtY29uZmlnOyBjaGFyc2V0PSJ1cy1hc2NpaSIKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdApDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iY2xvdWQtY29uZmlnLnR4dCIKCiNjbG91ZC1jb25maWcKcmVwb191cGdyYWRlOiBub25lCnJlcG9fcmVsZWFzZXZlcjogMjAxNy4wOQpjbG91ZF9maW5hbF9tb2R1bGVzOgogLSBbc2NyaXB0cy11c2VyLCBhbHdheXNdCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQpDb250ZW50LVR5cGU6IHRleHQveC1zaGVsbHNjcmlwdDsgY2hhcnNldD0idXMtYXNjaWkiCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9InVzZXItZGF0YS50eHQiCgojIS9iaW4vYmFzaApleGVjID4gPih0ZWUgLWEgL3Zhci9sb2cvZWItY2ZuLWluaXQubG9nfGxvZ2dlciAtdCBbZWItY2ZuLWluaXRdIC1zIDI",
- "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
]
}, - "product": "Linux/UNIX"
}, - "scaling": {
- "up": [
- {
- "policyName": "awseb-e-12345-stack-AWSEBCloudwatchAlarmHigh-56QPITB3WUFM",
- "metricName": "NetworkOut",
- "statistic": "average",
- "unit": "bytes",
- "threshold": 6000000,
- "namespace": "AWS/EC2",
- "source": "cloudWatch",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 360,
- "dimenstions": [
- {
- "name": "resourceName"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}, - "operator": "gte"
}
], - "down": [
- {
- "policyName": "awseb-e-12345-stack-AWSEBCloudwatchAlarmLow-UNGVBRKT0EHP",
- "metricName": "NetworkOut",
- "statistic": "average",
- "unit": "bytes",
- "threshold": 2000000,
- "namespace": "AWS/EC2",
- "source": "cloudWatch",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 360,
- "dimenstions": [
- {
- "name": "resourceName"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}, - "operator": "lte"
}
]
}, - "thirdPartiesIntegration": {
- "elasticBeanstalk": {
- "environmentId": "e-12345"
}
}
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}List all stateful instances associated with the Elastigroup
| groupId required | string AWS Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "ssi-046b119c",
- "instanceId": "i-08878aad7f35d20f5",
- "privateIp": "172.31.30.122",
- "imageId": "ami-082b5a644766e0e6f",
- "state": "ACTIVE",
- "devices": [
- {
- "deviceName": "/dev/xvda",
- "volumeId": "vol-0bb1c83fb203ad686",
- "snapshotId": "snap-0a2803e5e45d63c3a"
}
], - "launchedAt": "2019-12-10T08:01:43.000Z",
- "createdAt": "2019-12-10T08:02:16.000Z"
}
], - "count": 1,
- "kind": "string"
}
}Pause a stateful instance
| groupId required | string AWS Elastigroup ID |
| statefulInstanceId required | string Stateful instance ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Pause a stateful instance
| groupId required | string AWS Elastigroup ID |
| statefulInstanceId required | string Stateful instance ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Recycle a stateful instance AWS
| groupId required | string AWS Elastigroup ID |
| statefulInstanceId required | string Stateful instance ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}De-allocate a stateful instance – delete all the resources associated with the instance (network interface, snapshots, volumes)
| groupId required | string AWS Elastigroup ID |
| statefulInstanceId required | string Stateful instance ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Create a new Stateful Elastigroup – this Elastigroup will have the same configuration and state of the imported instance.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object | ||||||||||||||
| |||||||||||||||
{- "statefulMigrationGroup": {
- "originalInstanceId": "i-123c53d9f152a1234",
- "name": "MyNewElastigroup",
- "region": "us-west-2",
- "shouldTerminateInstance": null,
- "product": "Linux/UNIX (Amazon VPC)",
- "spotInstanceTypes": [
- "m3.large"
], - "availabilityZones": [
- {
- "name": "us-west-2b",
- "subnetIds": [
- "subnet-12345678"
]
}
]
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "smg-7f041234",
- "groupId": "sig-1ed12345",
- "state": "MIGRATE_START",
- "data": {
- "originalInstanceId": "i-0a9c53d9f15212345",
- "shouldKeepPrivateIp": false,
- "shouldTerminateInstance": true
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:statefulMigrationGroup"
}
}Get the current status of the import process. Possible values are:
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| statefulMigrationGroupID required | string Example: statefulMigrationGroupID=smg-7f041234 The Process id you want to query |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "statefulMigrationId": "string",
- "groupId": "string",
- "instanceId": "string",
- "state": "string",
- "stateDescription": "string"
}
], - "count": 1,
- "kind": "string"
}
}Cancel the ongoing stateful import
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| statefulMigrationGroupID required | string Example: statefulMigrationGroupID=smg-7f041234 The Process id you want to delete |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "string",
- "groupId": "string",
- "state": "string"
}
], - "count": 1,
- "kind": "string"
}
}Manually terminate the source stateful instance during an stateful instance import.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| statefulMigrationGroupID required | string The Process id you want to terminate |
object | |||
| |||
{- "userAction": {
- "type": "terminate"
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "smg-63d3c336",
- "groupId": "sig-de019081",
- "state": "MIGRATE_TERMINATE_INSTANCE"
}
], - "count": 1,
- "kind": "string"
}
}Set termination protection for specific instance
| instanceId required | string Example: i-123456 AWS Instance ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| ttl | string Example: ttl=23 Specify a TTL (in minutes) for this lock, meaning, for how long the protection will be valid for |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/instance/i-123456/lock",
- "method": "POST",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Remove the termination protection from specific instance
| instanceId required | string Example: i-123456 AWS Instance ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/instance/i-123456/unlock",
- "method": "POST",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Describes the current status of a specific Elastigroup – entailing information regarding running instance and their status
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "/aws/ec2/group/sig-12345678/status",
- "method": "GET",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- {
- "spotInstanceRequestId": "sir-3thgagpn",
- "instanceId": "i-0cc289f12538e4758",
- "instanceType": "t2.micro",
- "product": "Linux/UNIX",
- "groupId": "sig-12345678",
- "availabilityZone": "us-west-2a",
- "privateIp": "172.31.28.210",
- "createdAt": "2018-06-25T11:49:00.000Z",
- "publicIp": "10.10.10.10",
- "status": "fulfilled"
}, - {
- "groupId": "sig-12345",
- "eventType": "Update",
- "createdAt": "2016-01-21T17:10:04.000+0000",
- "subEvents": {
- "type": "scaleUp",
- "newSpots": [
- {
- "spotInstanceRequestId": "sir-0294dbzt"
}, - {
- "spotInstanceRequestId": "sir-02940b7h"
}, - {
- "spotInstanceRequestId": "sir-028z1age"
}, - {
- "spotInstanceRequestId": "sir-028z456e"
}, - {
- "spotInstanceRequestId": "sir-028wg6gr"
}, - {
- "spotInstanceRequestId": "sir-0294a9v5"
}
], - "newInstances": [ ]
}
}
], - "count": 2
}
}Get historical data on events that happened in a specific Elastigroup like update, scaling activities, creation of new instances, etc.
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| startDate required | string Example: startDate=2016-10-01 Starting date to fetch the events from |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-12345/events?fromDate=2016-10-01",
- "method": "GET",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- [
- {
- "groupId": "sig-12345",
- "eventType": "Update",
- "createdAt": "2016-01-21T17:10:04.000+0000",
- "subEvents": {
- "type": "scaleUp",
- "newSpots": [
- {
- "spotInstanceRequestId": "sir-0294dbzt"
}, - {
- "spotInstanceRequestId": "sir-02940b7h"
}, - {
- "spotInstanceRequestId": "sir-028z1age"
}, - {
- "spotInstanceRequestId": "sir-028z456e"
}, - {
- "spotInstanceRequestId": "sir-028wg6gr"
}, - {
- "spotInstanceRequestId": "sir-0294a9v5"
}
], - "newInstances": [ ]
}
}, - {
- "groupId": "sig-12345",
- "eventType": "Update",
- "createdAt": "2016-01-21T17:10:04.000+0000",
- "subEvents": {
- "type": "scaleUp",
- "newSpots": [
- {
- "spotInstanceRequestId": "sir-0294dbzt"
}, - {
- "spotInstanceRequestId": "sir-02940b7h"
}, - {
- "spotInstanceRequestId": "sir-028z1age"
}, - {
- "spotInstanceRequestId": "sir-028z456e"
}, - {
- "spotInstanceRequestId": "sir-028wg6gr"
}, - {
- "spotInstanceRequestId": "sir-0294a9v5"
}
], - "newInstances": [ ]
}
}, - {
- "groupId": "sig-12345",
- "eventType": "Update",
- "createdAt": "2016-01-21T17:10:04.000+0000",
- "subEvents": {
- "type": "scaleUp",
- "newSpots": [
- {
- "spotInstanceRequestId": "sir-0294dbzt"
}, - {
- "spotInstanceRequestId": "sir-02940b7h"
}, - {
- "spotInstanceRequestId": "sir-028z1age"
}, - {
- "spotInstanceRequestId": "sir-028z456e"
}, - {
- "spotInstanceRequestId": "sir-028wg6gr"
}, - {
- "spotInstanceRequestId": "sir-0294a9v5"
}
], - "newInstances": [ ]
}
}, - {
- "groupId": "sig-12345",
- "eventType": "Update",
- "createdAt": "2016-01-21T17:10:04.000+0000",
- "subEvents": {
- "type": "scaleUp",
- "newSpots": [
- {
- "spotInstanceRequestId": "sir-0294dbzt"
}, - {
- "spotInstanceRequestId": "sir-02940b7h"
}, - {
- "spotInstanceRequestId": "sir-028z1age"
}, - {
- "spotInstanceRequestId": "sir-028z456e"
}, - {
- "spotInstanceRequestId": "sir-028wg6gr"
}, - {
- "spotInstanceRequestId": "sir-0294a9v5"
}
], - "newInstances": [ ]
}
}
]
], - "count": 1
}
}You can fetch a group’s (Elastigroup/Ocean/Managed Instance) elastilog via the Spot API, in order to be able to consume elastilog from various tools used for log storing and analyzing. Logs have retention of 3 months back, so minimal fromDate should be up to 3 months back at runtime.
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| fromDate required | string Example: fromDate=1540036800000 Epoch number that represents the date from which to collect the log (millisecond format) |
| limit | string Example: limit=i-12345678 Maximum number of lines to extract in a response. Max value allowed - 1000. Default: 500 |
| resourceId | string Example: resourceId=i-12345678 Filter log extracted entires related to a specific resource id. Default: Null |
| severity | string Example: severity=all Filter log extracted entires related to a specific resource id |
| toDate required | string Example: toDate=1542715200000 Epoch number that represents the date until which log is collected (millisecond format) |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-123456/logs",
- "method": "GET",
- "timestamp": "2018-11-19T13:49:11.911Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:log",
- "items": [
- [
- {
- "message": "ECS Max Capacity. ECS Autoscaler - Cannot scale up since group has reached maximum capacity",
- "severity": "WARN",
- "createdAt": "2018-11-19T14:38:34.000Z"
}, - {
- "message": "Group sig-e0a2bd7c successfully created.",
- "severity": "INFO",
- "createdAt": "2018-11-19T14:34:15.000Z"
}
]
], - "count": 2
}
}Update the capacity of an Elastigroup
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
object (Capacity) | |||||||
| |||||||
{- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 2
}
}{- "request": {
- "id": "3ab3fdf7-3af3-46db-9e63-b88cfdac058c",
- "url": "/aws/ec2/group/sig-b255ac/capacity?accountId=act-567c21",
- "method": "PUT",
- "timestamp": "2018-08-20T15:31:12.730Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:capacity",
- "items": [
- {
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 2
}
}
], - "count": 1
}
}Add instances to your Elastigroup
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| adjustment | integer Example: adjustment=1 The number of instances to add to the Elastigroup |
{- "request": {
- "id": "b57207d0-3ab1-4170-8122-a3db9ac92093",
- "url": "/aws/ec2/group/sig-abcd1234/scale/up?adjustment=2",
- "method": "PUT",
- "timestamp": "2017-10-04T08:56:38.071Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:scale",
- "items": [
- {
- "newSpotRequests": [
- {
- "spotInstanceRequestId": "sir-45sr8c7n",
- "instanceId": "i-12345abcde12345",
- "availabilityZone": "us-west-2a",
- "instanceType": "m3.medium"
}, - {
- "spotInstanceRequestId": "sir-pzb8a2an",
- "instanceId": "i-abcde12345abcde",
- "availabilityZone": "us-west-2a",
- "instanceType": "m3.medium"
}
], - "newInstances": null
}
], - "count": 1
}
}Remove instances from your Elastigroup. Note - Scale Advanced expression Remove instances from your Elastigroup
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| adjustment | integer Example: adjustment=1 The number of instances to add to the Elastigroup |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/group/sig-12345/scale/down?adjustment=1",
- "method": "PUT",
- "time": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:scale",
- "items": [
- {
- "victimSpotRequests": [
- {
- "spotInstanceRequestId": "sir-02447qg2",
- "instanceId": "i-933esr1"
}
], - "victimInstances": [
- {
- "instanceId": "i-02447t22"
}
]
}
], - "count": 1
}
}Suspend processes inside your Elastigroup
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| policyName required | string Example: policyName=Example Policy Name Policy Name of scaling policy to suspend |
object (Suspension) | |||
| |||
{- "suspension": {
- "ttlInMinutes": 10
}
}{- "request": {
- "id": "0bb5db74-2457-4a34-b8f3-174e6bf5578e",
- "url": "/aws/ec2/group/sig-12345/scale/suspendPolicy?accountId=act-1234567&policyName=myscalingpolicyname",
- "method": "POST",
- "timestamp": "2016-06-19T08:41:57.516Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:suspension",
- "items": [
- {
- "groupId": "sig-12345",
- "policyName": "myscalingpolicyname",
- "state": "suspended",
- "expiresAt": "2016-06-19T08:51:00:00Z"
}
], - "count": 1
}
}Suspend processes inside your Elastigroup
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| groupId | array groupId |
| suspensions | array Suspensions |
{- "groupId": "sig-12345",
- "suspensions": [
- {
- "name": "AUTO_SCALE",
- "expiresAt": null
}, - {
- "name": "OUT_OF_STRATEGY",
- "expiresAt": "2018-10-03T07:23:24.000+0000"
}, - {
- "name": "PREVENTIVE_REPLACEMENT",
- "expiresAt": "2018-10-03T09:03:24.000+0000"
}, - {
- "name": "REVERT_PREFERRED",
- "expiresAt": null
}, - {
- "name": "SCHEDULING",
- "expiresAt": null
}
]
}{- "request": {
- "id": "0bb5db74-2457-4a34-b8f3-174e6bf5578e",
- "url": "/aws/ec2/group/sig-12345/suspension",
- "method": "POST",
- "timestamp": "2016-06-19T08:41:57.516Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:suspension",
- "items": [
- {
- "groupId": "sig-12345",
- "suspensions": [
- {
- "name": "AUTO_SCALE",
- "expiresAt": null
}, - {
- "name": "OUT_OF_STRATEGY",
- "expiresAt": "2018-10-03T07:23:24.000+0000"
}, - {
- "name": "PREVENTIVE_REPLACEMENT",
- "expiresAt": "2018-10-03T09:03:24.000+0000"
}, - {
- "name": "REVERT_PREFERRED",
- "expiresAt": null
}, - {
- "name": "SCHEDULING",
- "expiresAt": null
}
]
}
], - "count": 4
}
}List all active Suspended processes for specific Elastigroup
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "67582d0c-108b-4ef7-9fdc-d39678a30844",
- "url": "/aws/ec2/group/sig-12345/suspension",
- "method": "GET",
- "timestamp": "2018-01-07T07:30:58.622Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:suspension",
- "items": [
- {
- "groupId": "sig-12345",
- "processes": [
- "AUTO_SCALE"
]
}
], - "count": 1
}
}Remove active suspension from Elastigroup
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| processes | array (Processes) The list of processes to remove from suspension. Valid values are: AUTO_SCALE, AUTO_HEALING, OUT_OF_STRATEGY, PREVENTIVE_REPLACEMENT, REVERT_PREFERRED, SCHEDULING |
{- "processes": [
- "AUTO_SCALE"
]
}{- "request": {
- "id": "848f3db7-b731-4b1b-9227-253a545e90eb",
- "url": "/aws/ec2/group/sig-12345/suspension",
- "method": "DELETE",
- "timestamp": "2018-06-21T11:54:12.513Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:suspension",
- "items": [
- {
- "group": {
- "compute": {
- "launchSpecification": {
- "metadataOptions": {
- "httpTokens": "optional"
}
}
}
}
}
], - "count": 0
}
}Suspended scaling policies inside your Elastigroup
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "0bb5db74-2457-4a34-b8f3-174e6bf5578e",
- "url": "/aws/ec2/group/sig-12345/scale/suspensions?accountId=act-1234567",
- "method": "GET",
- "timestamp": "2016-06-19T08:41:57.516Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:suspension",
- "items": [
- {
- "scalePolicySuspensions": [
- {
- "groupId": "sig-12345",
- "policyName": "test",
- "state": "suspended"
}, - {
- "groupId": "sig-12345",
- "policyName": "down Scaling Policy 1",
- "state": "suspended"
}
]
}
], - "count": 2
}
}Resume suspended scaling policies inside your Elastigroup
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| policyName | string Example: policyName=policy_1 Name of the suspended scaling policy to remove from suspension |
{- "request": {
- "id": "848f3db7-b731-4b1b-9227-253a545e90eb",
- "url": "/aws/ec2/group/sig-12345/scale/resumePolicy?policyName=myscalingpolicyname",
- "method": "POST",
- "timestamp": "2018-06-21T11:54:12.513Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:suspension",
- "items": [
- { }
], - "count": 0
}
}Describe Potential Savings for AWS resources like - ASG (Auto-scaling groups), Beanstalk, ELB, ECS, EMR and tagged instances. The response will provide Potential monthly savings in USD
| accountId | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "url": "/aws/ec2/group/sig-12345/suspension",
- "method": "GET"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:cs:aws:potentialSavings",
- "items": [
- [
- {
- "resourceType": "Auto Scaling Group",
- "name": "Prod_ASG",
- "region": "us-west-1",
- "instances": 5,
- "instanceTypes": [
- "c4.4xlarge"
], - "potentialSavings": 2700
}
]
], - "count": 1
}
}Describe potential savings for the listed instances. You can provide multiple instance IDs separated by a comma. The response will provide potential monthly savings in USD.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| instanceIds required | string Example: instanceIds=i-1234567 The instance ID |
| region required | string Example: region=us-east-1 The AWS Region |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/instancePotentialSavings?instanceIds=i-08674ba9a6ddb73f4%2Ci-0973dc7a755d34894®ion=us-west-2",
- "method": "GET",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:cs:aws:potentialSavings",
- "items": [
- {
- "newSpotRequests": [
- {
- "resourceType": "EC2Instance",
- "name": "i-12345abcde12345",
- "instances": 1,
- "instanceTypes": [
- "t2.medium"
], - "potentialSavings": 28
}, - {
- "resourceType": "EC2Instance",
- "name": "i-0973dc7a755d34894",
- "instances": 1,
- "instanceTypes": [
- "m4.large"
], - "potentialSavings": 60
}
]
}
], - "count": 2
}
}Retrieve costs per specified account over a specified time period. Example of URL with with daily aggregation period over a time period of 30 days - https://api.spotinst.io/aws/ec2/account/costs?fromDate=1585699200000&toDate=1588291199000&aggregationPeriod=daily
| accountId | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| aggregationPeriod | string Example: aggregationPeriod=daily Optional. The time period over which data is aggregated. Can only be "daily". For example, the figures in each data set are per day |
| fromDate | string Example: fromDate=2018-06-20 Date can be either in ISO-8601 date format (yyyy-mm-dd) or in Unix Timestamp format (e.g. 1494751821472). |
| toDate | string Example: toDate=2018-11-20 Date can be either in ISO-8601 date format (yyyy-mm-dd) or in Unix Timestamp format (e.g. 1494751821472). |
{- "request": {
- "id": "67582d0c-108b-4ef7-9fdc-d39678a30844",
- "url": "/aws/ec2/group",
- "method": "GET",
- "timestamp": "2018-01-07T07:30:58.622Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- [
- {
- "timestamp": "2020-03-06T00:00:00.000Z",
- "spot": {
- "runningHours": 1470.8,
- "actualCosts": 107.3,
- "potentialCosts": 378.41,
- "savingsPercentage": 71.64
}
}
]
], - "count": 1
}
}Get financial information on a specific Elastigroup
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
| aggregationPeriod | string Example: aggregationPeriod=daily Optional. The time period over which data is aggregated. Can only be "daily". For example, the figures in each data set are per day |
| fromDate required | string Example: fromDate=2018-06-20 Data values following either a date format (YYYY-MM-DDTHH:mm:ss.SSSZ ; 2016-01-10T00:00:00.000Z) or Unix seconds Timestamp (1494751821) |
| toDate required | string Example: toDate=2018-11-20 Data values following either a date format (YYYY-MM-DDTHH:mm:ss.SSSZ ; 2016-01-10T00:00:00.000Z) or Unix seconds Timestamp (1494751821) |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-48d79900/costs?fromDate=2018-03-06&toDate=2019-02-27",
- "method": "GET",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:stats",
- "items": [
- [
- {
- "running": {
- "value": 0,
- "unit": "hours"
}, - "savings": {
- "value": 0,
- "unit": "percentage"
}, - "costs": {
- "actual": 0,
- "potential": 0
}
}
]
], - "count": 1
}
}Get detailed financial information on a specific Elastigroup
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
| fromDate required | string Example: fromDate=2018-06-20 Data values following either a date format (YYYY-MM-DDTHH:mm:ss.SSSZ ; 2016-01-10T00:00:00.000Z) or Unix seconds Timestamp (1494751821) |
| toDate required | string Example: toDate=2018-11-20 Data values following either a date format (YYYY-MM-DDTHH:mm:ss.SSSZ ; 2016-01-10T00:00:00.000Z) or Unix seconds Timestamp (1494751821) |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-12345/costs/detailed",
- "method": "GET",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- {
- "groupId": "sig-12345",
- "instanceId": "i-326129e1",
- "spotInstanceRequestId": null,
- "instanceType": "m3.medium",
- "availabilityZone": "us-east-1a",
- "running": {
- "value": 4,
- "unit": "hours"
}, - "savings": {
- "value": 4,
- "unit": "percentage"
}, - "costs": {
- "actual": 0.268,
- "potential": 0.268
}
}, - {
- "groupId": "sig-d56b9e37v",
- "instanceId": "i-326129e1",
- "spotInstanceRequestId": "sir-02epa938",
- "instanceType": "m3.large",
- "availabilityZone": "us-east-1a",
- "running": {
- "value": 4,
- "unit": "hours"
}, - "savings": {
- "value": 89.3233,
- "unit": "percentage"
}, - "costs": {
- "actual": 0.0568,
- "potential": 0.532
}
}
], - "count": 2
}
}Get the current instance status Possible status values - Active and Terminating
| insatnceId required | string Example: i-123456 The instance ID you want to query |
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/instance/i-123456",
- "method": "GET",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:instance",
- "items": [
- {
- "instanceId": "i-326129e1",
- "lifeCycleState": "ACTIVE"
}
], - "count": 1
}
}Import an EC2 instance into a new Elastigroup
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| instanceId required | string Example: instanceId=i-008a13360040aa88e Enter the AWS instance Id of the instance to import |
| region required | string Example: region=us-east-2 The AWS region to create the new Elastigroup in |
object (Group) | |||||
| |||||
{- "group": {
- "name": "EG_Name",
- "spotInstanceTypes": [
- "m3.large",
- "c3.large"
]
}
}{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "string",
- "method": "GET",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "string",
- "items": [
- { }
], - "count": 1
}
}Get a list of instances with health status.
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/group/sig-1b656b92/instanceHealthiness",
- "method": "GET",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:instanceHealthiness",
- "items": [
- {
- "instanceId": "i-07593cd9173cd9667",
- "spotRequestId": "sir-xjag9yqp",
- "groupId": "sig-1b656b92",
- "availabilityZone": "us-west-2b",
- "lifeCycle": "SPOT",
- "healthStatus": "HEALTHY"
}
], - "count": 1
}
}Detach instances from your Elastigroup
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
| drainingTimeout | integer (Time) Draining Timeout |
| instancesToDetach | object (Instances to be detached) Instances to be detached |
| shouldDecrementTargetCapacity | boolean (Decrement target capacity criteria) Should Decrement Target Capacity Criteria |
| shouldTerminateInstances | boolean (Termination criteria) Should Terminate Instances Criteria |
{- "instancesToDetach": [
- "i-123456",
- "i-456798"
], - "shouldTerminateInstances": true,
- "shouldDecrementTargetCapacity": false,
- "drainingTimeout": 300
}{- "request": {
- "id": "0bb5db74-2457-4a34-b8f3-174e6bf5578e",
- "url": "/aws/ec2/group/sig-12345/detachInstances",
- "method": "PUT",
- "timestamp": "2016-06-19T08:41:57.516Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:detachInstances"
}
}Create a new Elastigroup – this Elastigroup will have the same configuration of the imported Autoscaling group
| accountId | string Example: accountId=act-12345 Your account id in Spot |
| asgName required | string Example: asgName=MyASG The ASG name |
| dryRun | string Example: dryRun=act-12345 When |
| region required | string Example: region=us-east-1 The AWS region for the ASG |
object (Group) | |||||||
| |||||||
{- "group": {
- "product": "Linux/UNIX",
- "spotInstanceTypes": [
- "c3.large",
- "m4.large"
], - "name": "My Group"
}
}{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/group/autoScalingGroup/import?region=us-west-2&TESTING_ASG",
- "method": "POST",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group",
- "items": [
- {
- "id": "sig-e2927aac",
- "name": "TESTING_ASG",
- "description": "Imported from auto scaling group TESTING_ASG",
- "capacity": {
- "target": 1,
- "minimum": 0,
- "maximum": 5,
- "unit": "instance"
}, - "strategy": {
- "risk": 100,
- "drainingTimeout": 0
}, - "compute": {
- "instanceTypes": {
- "ondemand": "m3.medium",
- "spot": [
- "c3.large"
]
}, - "availabilityZones": [
- {
- "name": "us-west-2b",
- "subnetIds": "subnet-2e967065"
}
], - "product": "Linux/UNIX",
- "launchSpecification": {
- "loadBalancersConfig": {
- "loadBalancers": {
- "name": "TESTING_ASG",
- "type": "CLASSIC"
}
}
}
}, - "scaling": { },
- "createdAt": "2020-10-01T05:23:59.302Z",
- "updatedAt": "2020-10-01T05:23:59.302Z"
}
], - "count": 1
}
}Get the available spot instances types available in a specific region
| region required | string Example: region=us-east-2 The AWS region |
{- "request": {
- "id": "67582d0c-108b-4ef7-9fdc-d39678a30844",
- "url": "/aws/ec2/spotType?region=us-west-2",
- "method": "GET",
- "timestamp": "2018-01-07T07:30:58.622Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:spot:type",
- "items": [
- [
- {
- "instanceType": "hi1.4xlarge"
}, - {
- "instanceType": "r5d.4xlarge"
}, - {
- "instanceType": "r5ad.12xlarge"
}, - {
- "instanceType": "r4.4xlarge"
}, - {
- "instanceType": "m1.xlarge"
}, - {
- "instanceType": "a1.4xlarge"
}, - {
- "instanceType": "m5a.4xlarge"
}, - {
- "instanceType": "m3.large"
}, - {
- "instanceType": "x1e.4xlarge"
}, - {
- "instanceType": "m5d.4xlarge"
}, - {
- "instanceType": "m5a.24xlarge"
}, - {
- "instanceType": "m5a.large"
}, - {
- "instanceType": "r5d.8xlarge"
}, - {
- "instanceType": "m3.medium"
}, - {
- "instanceType": "p2.xlarge"
}, - {
- "instanceType": "m4.large"
}, - {
- "instanceType": "m5.24xlarge"
}, - {
- "instanceType": "r5a.4xlarge"
}, - {
- "instanceType": "c5.large"
}, - {
- "instanceType": "m5ad.xlarge"
}, - {
- "instanceType": "m5d.large"
}, - {
- "instanceType": "r5d.12xlarge"
}, - {
- "instanceType": "r5a.2xlarge"
}, - {
- "instanceType": "m3.2xlarge"
}, - {
- "instanceType": "t3a.large"
}, - {
- "instanceType": "t2.medium"
}, - {
- "instanceType": "i3.2xlarge"
}, - {
- "instanceType": "p3.2xlarge"
}, - {
- "instanceType": "cc2.8xlarge"
}, - {
- "instanceType": "i3.xlarge"
}, - {
- "instanceType": "r3.2xlarge"
}, - {
- "instanceType": "i3.8xlarge"
}, - {
- "instanceType": "c4.8xlarge"
}, - {
- "instanceType": "r5.metal"
}, - {
- "instanceType": "m4.10xlarge"
}, - {
- "instanceType": "m1.large"
}, - {
- "instanceType": "r5d.2xlarge"
}, - {
- "instanceType": "t1.micro"
}, - {
- "instanceType": "i2.4xlarge"
}, - {
- "instanceType": "r5a.24xlarge"
}, - {
- "instanceType": "z1d.2xlarge"
}, - {
- "instanceType": "r5.xlarge"
}, - {
- "instanceType": "m5ad.large"
}, - {
- "instanceType": "h1.4xlarge"
}, - {
- "instanceType": "m5d.12xlarge"
}, - {
- "instanceType": "c5.2xlarge"
}, - {
- "instanceType": "x1e.8xlarge"
}, - {
- "instanceType": "d2.8xlarge"
}, - {
- "instanceType": "r5.8xlarge"
}, - {
- "instanceType": "c3.large"
}, - {
- "instanceType": "r4.xlarge"
}, - {
- "instanceType": "m5ad.24xlarge"
}, - {
- "instanceType": "t3a.xlarge"
}, - {
- "instanceType": "d2.4xlarge"
}, - {
- "instanceType": "c5.24xlarge"
}, - {
- "instanceType": "c5.metal"
}, - {
- "instanceType": "c1.medium"
}, - {
- "instanceType": "m1.medium"
}, - {
- "instanceType": "g3.8xlarge"
}, - {
- "instanceType": "r4.2xlarge"
}, - {
- "instanceType": "i3en.6xlarge"
}, - {
- "instanceType": "t3.small"
}, - {
- "instanceType": "i3en.large"
}, - {
- "instanceType": "i3en.24xlarge"
}, - {
- "instanceType": "t2.xlarge"
}, - {
- "instanceType": "t3a.medium"
}, - {
- "instanceType": "m4.16xlarge"
}, - {
- "instanceType": "x1.32xlarge"
}, - {
- "instanceType": "r5a.12xlarge"
}, - {
- "instanceType": "c5d.4xlarge"
}, - {
- "instanceType": "i3en.12xlarge"
}, - {
- "instanceType": "c5d.large"
}, - {
- "instanceType": "g3.16xlarge"
}, - {
- "instanceType": "c3.2xlarge"
}, - {
- "instanceType": "x1e.2xlarge"
}, - {
- "instanceType": "a1.2xlarge"
}, - {
- "instanceType": "r5ad.xlarge"
}, - {
- "instanceType": "m5a.xlarge"
}, - {
- "instanceType": "t2.large"
}, - {
- "instanceType": "r5ad.large"
}, - {
- "instanceType": "i3.metal"
}, - {
- "instanceType": "t3.nano"
}, - {
- "instanceType": "r5ad.2xlarge"
}, - {
- "instanceType": "f1.16xlarge"
}, - {
- "instanceType": "h1.8xlarge"
}, - {
- "instanceType": "m5.12xlarge"
}, - {
- "instanceType": "a1.medium"
}, - {
- "instanceType": "i3en.3xlarge"
}, - {
- "instanceType": "m5d.8xlarge"
}
]
], - "count": 322
}
}Get suggested instance types by required resources. Note that request must include region, and at least one of the following values - baselineInstanceType, requiredVCpu, requiredMemoryGib
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
object (AWS Elastigroup) | |||||||||
| |||||||||
{- "requirements": {
- "region": "us-east-1",
- "baselineInstanceType": "m5.large",
- "requiredVCpu": {
- "minimum": 2,
- "maximum": 4
}, - "requiredMemoryGib": {
- "minimum": 16,
- "maximum": 64
}
}
}{- "request": {
- "id": "0bb5db74-2457-4a34-b8f3-174e6bf5578e",
- "url": "/aws/ec2/instanceTypeRecommendation",
- "method": "POST",
- "timestamp": "2016-06-19T08:41:57.516Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:instanceTypeRecommendation",
- "items": [
- [
- {
- "instanceType": "m4.large"
}, - {
- "instanceType": "m5.large"
}
]
], - "count": 1
}
}The simulate instance interruption API is used for simulating a spot interruption in AWS, so that customers can verify specific applicative behaviors in case an interruption takes place. Once the interruption api is called, instances posted in the API body will be terminated in AWS, thus mocking a spot interruption.
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
| instancesToInterrupt | string A list of group's instance ids to interrupt |
{- "instancesToInterrupt": [
- "i-123456",
- "i-9876543"
]
}{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/instance/interruption?accountId=act-4fb595c6",
- "method": "POST",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}The instance signal API is used for notifying Spot about the instance state, so Spot can act accordingly. Supported signals are - INSTANCE_READY – Whenever this signal is sent, Spot will register the instance to the ELB INSTANCE_READY_TO_SHUTDOWN – Whenever this signal is sent, Spot will terminate the instance after it was marked for termination. Important - You need to define the expected signals for your Elastigroup in the group configuration.
| insatnceId required | string Example: i-123456 The instance ID you want to query |
| signal required | string Example: INSTANCE_READY The specific signal you want to trigger. Valid Values: INSTANCE_READY, INSTANCE_READY_TO_SHUTDOWN |
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
| instanceId | string The instance ID the signal refers to. |
| signal | string The specific signal you want to trigger. Valid Values - INSTANCE_READY, INSTANCE_READY_TO_SHUTDOWN |
{- "instanceId": "i-123456",
- "signal": "INSTANCE_READY"
}{- "request": {
- "id": "67582d0c-108b-4ef7-9fdc-d39678a30844",
- "url": "/aws/ec2/instance/signal",
- "method": "POST",
- "timestamp": "2018-01-07T07:30:58.622Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Instance Standby enables you to put an instance in Standby state , update or troubleshoot the instance, and then return the instance to service. Instances that are on standby are still part of the Elastigroup, but they don’t get application traffic. Whenever instance is standby state - It will be de-registered from all the ELBs / ALBs in the Elastigroup It won’t be affected from Scale down activities in the Elastigroup The instance health won’t be checked, and it won’t be replaced When the instance exits the Standby state - The instance will be register back to all the ELBs / ALBs that are defined in the Elastigroup It will be considered and affected from all the Elastigroup activities (helth checks, scaling, etc.)
| instanceId required | string Example: i-123456 The instance ID you want to put in standby state |
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/instance/i-123456/standby/enter",
- "method": "POST",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Exit standby by mode
| instanceId required | string Example: i-123456 The instance ID you want to put in standby state |
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/instance/i-123456/standby/exit",
- "method": "POST",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Get list of all the deployments of a specific Elastigroup and their status
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
| limit | integer Example: limit=5 Limits results |
| sort | string Example: sort=createdAt:ASC Field to sort by the results Default: createdAt:DESC |
| batchSizePercentage | integer (Batch size percentage indicator) Indicates (in percentage) the batch size of the deployment (meaning, how many instances to replace in each batch) |
| gracePeriod | integer (Grace period indicator) Indicates (in seconds) the timeout to wait until instance become healthy based on the healthCheckType |
| healthCheckType | string (Health check type indicator) Define a health check type. valid values: ELB, ECS_CLUSTER_INSTANCE, TARGET_GROUP, OPSWORKS, NOMAD_NODE, MULTAI_TARGET_SET, HCS, EC2, NONE (wait the entire grace period for each batch). If no value is set the roll will use the group’s auto-healing health check. |
object (Strategy) The roll strategy |
{- "batchSizePercentage": 20,
- "gracePeriod": 300,
- "healthCheckType": "EC2",
- "strategy": {
- "action": "REPLACE_SERVER",
- "batchMinHealthyPercentage": 25,
- "onFailure": {
- "actionType": "DETACH_NEW",
- "shouldHandleAllBatches": true,
- "drainingTimeout": 600,
- "shouldDecrementTargetCapacity": true
}
}
}{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-12345/roll?limit=5&sort=createdAt%3ADESC",
- "method": "GET",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:roll",
- "items": [
- {
- "id": "sbgd-781c6212",
- "status": "starting",
- "progress": {
- "unit": "percent",
- "value": 0
}, - "createdAt": "2018-03-27T19:50:12.000+0000",
- "updatedAt": "2018-03-27T19:50:16.000+0000"
}, - {
- "id": "sbgd-3f127ed0",
- "status": "starting",
- "progress": {
- "unit": "percent",
- "value": 0
}, - "createdAt": "2018-03-27T19:46:22.000+0000",
- "updatedAt": "2018-03-27T19:46:35.000+0000"
}, - {
- "id": "sbgd-3ee19606",
- "status": "stopped",
- "progress": {
- "unit": "percent",
- "value": 0
}, - "createdAt": "2018-03-27T19:35:41.000+0000",
- "updatedAt": "2018-03-27T19:39:18.000+0000"
}, - {
- "id": "sbgd-cc4c44e2",
- "status": "finished",
- "progress": {
- "unit": "percent",
- "value": 100
}, - "createdAt": "2018-03-26T19:22:45.000+0000",
- "updatedAt": "2018-03-26T19:26:17.000+0000"
}
], - "count": 1
}
}Deploy your Elastigroup (triggers Blue/Green Deployment that replaces the existing instances in the Elastigroup)
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-12345/roll?accountId=act-123456",
- "method": "PUT",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:roll",
- "items": [
- {
- "id": "sbgd-3ee19606",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 1,
- "progress": {
- "unit": "percent",
- "value": 0
}
}
], - "count": 1
}
}Stop an existing deployment
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| rollId required | string Example: sbgd-9876 The deployment id you want to stop |
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
object (Role) | |||
| |||
{- "roll": {
- "status": "STOPPED"
}
}{- "request": {
- "id": "ff3e1e5b-91b8-42fa-8267-b988efc7f662",
- "url": "/aws/ec2/group/sig-12345/roll/sbgd-dfb956b4",
- "method": "PUT",
- "timestamp": "2015-06-29T13:01:55.060Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:roll"
}
}Get status of a specific deployment
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| rollId required | string Example: sbgd-9876 The deployment id you want to query |
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-d8489594/deployment/sbgd-3e158755/details?spotinstAccountId=act-d48178ad",
- "method": "GET",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:roll:details",
- "items": [
- {
- "detailsOverview": {
- "deploymentId": "sbgd-3e158755",
- "numberOfBatches": 2,
- "currentBatch": 1,
- "gracePeriod": 600,
- "strategyAction": "REPLACE_SERVER",
- "blueInstances": 2,
- "greenInstances": 1,
- "createdAt": "2019-09-03T15:12:02.000Z"
}, - "batches": [
- {
- "batch": 1,
- "blue": [
- {
- "instanceId": "i-05e0e4d5a66a16e40",
- "spotRequestId": "sir-1dxg95bn",
- "batchNum": 1,
- "status": "RUNNING",
- "type": "OLD",
- "updatedAt": "2019-09-03T15:12:02.000Z"
}
], - "green": [
- {
- "instanceId": "i-0a13d50e91a5ed068",
- "spotRequestId": "sir-vxkga1zp",
- "batchNum": 1,
- "status": "RUNNING",
- "type": "NEW",
- "updatedAt": "2019-09-03T15:13:26.000Z"
}
]
}
], - "events": [
- {
- "status": "Deployment Start",
- "eventType": null,
- "timestamp": "2019-09-03T15:12:02.000Z"
}, - {
- "status": "Deployment In Progress",
- "eventType": "Batch 1 - Launching New instances",
- "timestamp": "2019-09-03T15:12:46.000Z"
}
]
}
], - "count": 1
}
}Apply a Detach action to a deployment
| groupId required | string Example: sig-12345 The Spot Elastigroup id you want to update |
| accountId | string Example: accountId=act-123abc Your Spot accountId associated with your token |
| rollId required | string Example: rollId=sbgd-9876 The deployment id you want to stop |
| actionType | string (Type of action) Sets the action that will take place, Accepted values are: DETACH_OLD, DETACH_NEW |
| drainingTimeout | integer (Draining timeout criteria) Indicates (in seconds) the timeout to wait until instance are detached |
| shouldDecrementTargetCapacity | boolean (Should Decrement Target Capacity criteria) Default: true |
| shouldHandleAllBatches | boolean (Should Hnadle All Batches Criteria) Default: false Indicator if the action should apply to all batches of the deployment or only the latest batch |
{- "actionType": "DETACH_NEW",
- "shouldHandleAllBatches": true,
- "drainingTimeout": 200,
- "shouldDecrementTargetCapacity": true
}{- "request": {
- "id": "46642c7d-bc29-417d-8ce4-79626f00c63c",
- "url": "/aws/ec2/group/sig-1b656b92/roll/sbgd-aafb7671/action",
- "method": "POST",
- "timestamp": "2016-01-21T17:12:51.451Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:aws:ec2:group:roll:action",
- "items": [
- {
- "groupId": "sig-1b656b92",
- "rollId": "sbgd-aafb7671",
- "actionType": "DETACH_NEW",
- "detachedInstances": [
- "i-0b6974ad592f8d9ba"
]
}
], - "count": 1
}
}Initiate a cluster roll for an Elastigroup with ECS cluster
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object | ||||
| |||||
{- "roll": {
- "batchSizePercentage": 20,
- "comment": "This is why I deployed my cluster."
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-5aaf854e",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 0
}, - "groupId": "sig-43a8a5ee",
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "string"
}
}Update a running ECS cluster roll status
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object | ||
| |||
{- "roll": {
- "status": "STOPPED"
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-5aaf854e",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 0
}, - "groupId": "sig-43a8a5ee",
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "string"
}
}Get status for every ECS cluster rolls in given Elastigroup
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-5aaf854e",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 0
}, - "groupId": "sig-43a8a5ee",
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "string"
}
}Get status for specific ECS cluster rolls in given Elastigroup
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| ROLL_ID required | string The cluster roll ID you want to query |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "scr-5aaf854e",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 5,
- "comment": "This is why I deployed my cluster.",
- "progress": {
- "unit": "percentage",
- "value": 0
}, - "groupId": "sig-43a8a5ee",
- "createdAt": "2019-03-24T15:46:09.000Z",
- "updatedAt": "2019-03-24T15:46:09.000Z"
}
], - "count": 1,
- "kind": "string"
}
}Put your Beanstslk elastigroup into maintenance mode, before you start updating the beanstalk configuration.
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Finish maintenance mode, and trigger a blue-green deployment.
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Get the group maintenance status.
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "status": "AWAIT_USER_UPDATE"
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:beanstalk:status"
}
}| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| ENVIRONMENT_ID required | string Example: ENVIRONMENT_ID=e-12345 The ASG name |
| REGION required | string Example: REGION=us-east-1 The AWS region for the ASG |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "name": "First Elastigroup",
- "description": "This is the first Spot Elastigroup of many",
- "capacity": {
- "minimum": 1,
- "maximum": 10,
- "target": 5
}, - "strategy": {
- "risk": 100
}, - "compute": {
- "instanceTypes": {
- "ondemand": "t2.micro",
- "spot": [
- "string"
]
}, - "availabilityZones": [
- {
- "name": "us-west-2a"
}
], - "launchSpecification": {
- "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "awseb-AWSEB-12345",
- "arn": "arn:aws:elasticloadbalancing:us-west-2:842422002533:targetgroup/awseb-AWSEB-12345/245f20215d9ba7fc",
- "type": "TARGET_GROUP"
}
]
}, - "healthCheckType": "EC2",
- "securityGroupIds": [
- "sg-12345"
], - "monitoring": true,
- "imageId": "ami-12345",
- "iamRole": {
- "name": "aws-elasticbeanstalk-ec2-role"
}, - "userData": "Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01MTg5MDY1Mzc3MjIyODk4NDA3PT0iCk1JTUUtVmVyc2lvbjogMS4wCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQpDb250ZW50LVR5cGU6IHRleHQvY2xvdWQtY29uZmlnOyBjaGFyc2V0PSJ1cy1hc2NpaSIKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdApDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iY2xvdWQtY29uZmlnLnR4dCIKCiNjbG91ZC1jb25maWcKcmVwb191cGdyYWRlOiBub25lCnJlcG9fcmVsZWFzZXZlcjogMjAxNy4wOQpjbG91ZF9maW5hbF9tb2R1bGVzOgogLSBbc2NyaXB0cy11c2VyLCBhbHdheXNdCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQpDb250ZW50LVR5cGU6IHRleHQveC1zaGVsbHNjcmlwdDsgY2hhcnNldD0idXMtYXNjaWkiCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9InVzZXItZGF0YS50eHQiCgojIS9iaW4vYmFzaApleGVjID4gPih0ZWUgLWEgL3Zhci9sb2cvZWItY2ZuLWluaXQubG9nfGxvZ2dlciAtdCBbZWItY2ZuLWluaXRdIC1zIDI",
- "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
]
}
}, - "scaling": {
- "up": [
- {
- "policyName": "awseb-e-12345-stack-AWSEBCloudwatchAlarmHigh-56QPITB3WUFM",
- "metricName": "NetworkOut",
- "statistic": "average",
- "unit": "bytes",
- "threshold": 6000000,
- "namespace": "AWS/EC2",
- "source": "cloudWatch",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 360,
- "dimenstions": [
- {
- "name": "resourceName"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}, - "operator": "gte"
}
], - "down": [
- {
- "policyName": "awseb-e-12345-stack-AWSEBCloudwatchAlarmLow-UNGVBRKT0EHP",
- "metricName": "NetworkOut",
- "statistic": "average",
- "unit": "bytes",
- "threshold": 2000000,
- "namespace": "AWS/EC2",
- "source": "cloudWatch",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 360,
- "dimenstions": [
- {
- "name": "resourceName"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}, - "operator": "lte"
}
]
}, - "thirdPartiesIntegration": {
- "elasticBeanstalk": {
- "environmentId": "e-12345"
}
}
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:group"
}
}Re-import the beanstalk configuration
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-123456",
- "compute": {
- "launchSpecification": {
- "securityGroupIds": [
- "sg-b75343cf"
], - "monitoring": false,
- "imageId": "ami-3c873e5c",
- "iamRole": {
- "name": "aws-elasticbeanstalk-ec2-role"
}, - "userData": "Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PT09PT09PT09PT09PT01MTg5MDY1Mzc3MjIyODk4NDA3PT0iCk1JTUUtVmVyc2lvbjogMS4wCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQpDb250ZW50LVR5cGU6IHRleHQvY2xvdWQtY29uZmlnOyBjaGFyc2V0PSJ1cy1hc2NpaSIKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdApDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT0iY2xvdWQtY29uZmlnLnR4dCIKCiNjbG91ZC1jb25maWcKcmVwb191cGdyYWRlOiBub25lCnJlcG9fcmVsZWFzZXZlcjogMjAxNy4wOQpjbG91ZF9maW5hbF9tb2R1bGVzOgogLSBbc2NyaXB0cy11c2VyLCBhbHdheXNdCgotLT09PT09PT09PT09PT09PTUxODkwNjUzNzcyMjI4OTg0MDc9PQpDb250ZW50LVR5cGU6IHRleHQveC1zaGVsbHNjcmlwdDsgY2hhcnNldD0idXMtYXNjaWkiCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9InVzZXItZGF0YS50eHQiCgojIS9iaW4vYmFzaApleGVjID4gPih0ZWUgLWEgL3Zhci9sb2cvZWItY2ZuLWluaXQubG9nfGxvZ2dlciAtdCBbZWItY2ZuLWluaXRdIC1zIDI",
- "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "deleteOnTermination": true,
- "volumeSize": 12,
- "volumeType": "gp2"
}
}
]
}
}
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:group"
}
}Trigger a Blue-Green deployment to your Elastigroup, this will initiate a deployment that will replace the existing instances(blue) with new ones(green).
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
object | |||||||
| |||||||
{- "deployment": {
- "timeout": 20,
- "tags": [
- {
- "tagKey": "ver",
- "tagValue": "pink"
}
], - "deploymentGroups": [
- {
- "applicationName": "appTest",
- "deploymentGroupName": "deploymentGroupName"
}
]
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "cdbg-3ccf1234",
- "groupId": "sig-87231234",
- "state": "STARTING",
- "config": {
- "timeout": 20,
- "tags": [
- {
- "tagKey": "ver",
- "tagValue": "pink"
}
], - "deploymentGroups": [
- {
- "applicationName": "appTest",
- "deploymentGroupName": "deploymentGroupName"
}
]
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:group:codeDeploy:blueGreenDeployment"
}
}Get CodeDeploy Elastigroup deployment status for more information see: CodeDeploy B/G Deployment
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
object | |||||||
| |||||||
{- "deployment": {
- "timeout": 20,
- "tags": [
- {
- "tagKey": "ver",
- "tagValue": "pink"
}
], - "deploymentGroups": [
- {
- "applicationName": "appTest",
- "deploymentGroupName": "deploymentGroupName"
}
]
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "cdbg-3ccf1234",
- "groupId": "sig-87231234",
- "state": "STARTING",
- "config": {
- "timeout": 20,
- "tags": [
- {
- "tagKey": "ver",
- "tagValue": "pink"
}
], - "deploymentGroups": [
- {
- "applicationName": "appTest",
- "deploymentGroupName": "deploymentGroupName"
}
]
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:group:codeDeploy:blueGreenDeployment"
}
}Managed Instances are Spot’s solution for launching and managing a single compute instance. On the AWS cloud, for a standard single instance workload, an On-Demand EC2 instance is launched. The instance is expected to be highly available, easily manageable, and integrate well with additional services and monitoring tools. For more information please review the concepts section.
Create a new Managed Instance resource.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
object | |||||||||||||||||||
| |||||||||||||||||||
{- "managedInstance": {
- "name": "mi-test",
- "description": "This is my Managed Instance",
- "region": "us-east-1",
- "strategy": {
- "lifeCycle": "spot",
- "orientation": "availabilityOriented",
- "drainingTimeout": 0,
- "fallbackToOd": true,
- "utilizeReservedInstances": true,
- "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "revertToSpot": {
- "performAt": "timeWindow"
}
}, - "persistence": {
- "blockDevicesMode": "reattach",
- "persistRootDevice": true,
- "persistBlockDevices": true,
- "persistPrivateIp": true
}, - "healthCheck": {
- "type": "EC2",
- "autoHealing": true,
- "gracePeriod": 120,
- "unhealthyDuration": 120
}, - "compute": {
- "subnetIds": [
- "subnet-79da021e"
], - "vpcId": "vpc-111",
- "elasticIp": "ip",
- "privateIp": "ip",
- "product": true,
- "launchSpecification": {
- "instanceTypes": {
- "preferredType": "t2.micro",
- "types": [
- "t2.micro"
]
}, - "ebsOptimized": false,
- "monitoring": false,
- "tenancy": "default",
- "iamRole": {
- "name": "name",
- "arn": "arn"
}, - "securityGroupIds": [
- "sg-0dfc2c8760df6fec7"
], - "imageId": "ami-01e24be29428c15b2",
- "keyPair": "labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "test1@spot.io"
}
], - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "networkInterfaces": [
- {
- "deviceIndex": 0,
- "associatePublicIpAddress": true,
- "associateIpv6Address": true
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "deleteOnTermination": true,
- "volumeSize": 12,
- "volumeType": "gp2"
}
}
]
}
}, - "integrations": {
- "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "name",
- "arn": "arn",
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "azAwerness": true,
- "autoWeight": true
}
]
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z00275642KS5ZZJFIQBCA",
- "recordSetType": "a",
- "spotinstAccountId": "act-1234",
- "recordSets": [
- {
- "usePublicIp": true,
- "name": "testa.spot.io"
}
]
}
]
}
}, - "scheduling": {
- "tasks": [
- {
- "taskType": "scale",
- "startTime": "2018-05-23T10:55:09.000Z",
- "cronExpression": "0 1 * * *",
- "isEnabled": true,
- "frequency": "hourly"
}
]
}
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "managedInstance": {
- "name": "mi-test",
- "description": "This is my Managed Instance",
- "region": "us-east-1",
- "strategy": {
- "lifeCycle": "spot",
- "orientation": "availabilityOriented",
- "drainingTimeout": 0,
- "fallbackToOd": true,
- "utilizeReservedInstances": true,
- "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "revertToSpot": {
- "performAt": "timeWindow"
}
}, - "persistence": {
- "blockDevicesMode": "reattach",
- "persistRootDevice": true,
- "persistBlockDevices": true,
- "persistPrivateIp": true
}, - "healthCheck": {
- "type": "EC2",
- "autoHealing": true,
- "gracePeriod": 120,
- "unhealthyDuration": 120
}, - "compute": {
- "subnetIds": [
- "subnet-79da021e"
], - "vpcId": "vpc-111",
- "elasticIp": "ip",
- "privateIp": "ip",
- "product": true,
- "launchSpecification": {
- "instanceTypes": {
- "preferredType": "t2.micro",
- "types": [
- "t2.micro"
]
}, - "ebsOptimized": false,
- "monitoring": false,
- "tenancy": "default",
- "iamRole": {
- "name": "name",
- "arn": "arn"
}, - "securityGroupIds": [
- "sg-0dfc2c8760df6fec7"
], - "imageId": "ami-01e24be29428c15b2",
- "keyPair": "labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "test1@spot.io"
}
], - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "networkInterfaces": [
- {
- "deviceIndex": 0,
- "associatePublicIpAddress": true,
- "associateIpv6Address": true
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "deleteOnTermination": true,
- "volumeSize": 12,
- "volumeType": "gp2"
}
}
]
}
}, - "integrations": {
- "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "name",
- "arn": "arn",
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "azAwerness": true,
- "autoWeight": true
}
]
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z00275642KS5ZZJFIQBCA",
- "recordSetType": "a",
- "spotinstAccountId": "act-1234",
- "recordSets": [
- {
- "usePublicIp": true,
- "name": "testa.spot.io"
}
]
}
]
}
}, - "scheduling": {
- "tasks": [
- {
- "taskType": "scale",
- "startTime": "2018-05-23T10:55:09.000Z",
- "cronExpression": "0 1 * * *",
- "isEnabled": true,
- "frequency": "hourly"
}
]
}
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstance"
}
}Get all Managed Instance resources in the account.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "createdAt": "2020-04-10T21:41:31.000Z",
- "updatedAt": "2020-05-12T22:37:18.000Z",
- "id": "smi-34ae3a42",
- "config": {
- "name": "mi-test",
- "region": "us-east-1",
- "strategy": {
- "lifeCycle": "spot",
- "orientation": "availabilityOriented",
- "drainingTimeout": 0,
- "fallbackToOd": true,
- "utilizeReservedInstances": true,
- "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "revertToSpot": {
- "performAt": "timeWindow"
}
}, - "persistence": {
- "blockDevicesMode": "reattach",
- "persistRootDevice": true,
- "persistBlockDevices": true,
- "persistPrivateIp": true
}, - "healthCheck": {
- "type": "EC2",
- "autoHealing": true,
- "gracePeriod": 120,
- "unhealthyDuration": 120
}, - "compute": {
- "subnetIds": [
- "subnet-79da021e"
], - "vpcId": "vpc-111",
- "elasticIp": "ip",
- "privateIp": "ip",
- "product": true,
- "launchSpecification": {
- "instanceTypes": {
- "preferredType": "t2.micro",
- "types": [
- "t2.micro"
]
}, - "ebsOptimized": false,
- "monitoring": false,
- "tenancy": "default",
- "iamRole": {
- "name": "name",
- "arn": "arn"
}, - "securityGroupIds": [
- "sg-0dfc2c8760df6fec7"
], - "imageId": "ami-01e24be29428c15b2",
- "keyPair": "labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "test1@spot.io"
}
], - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "networkInterfaces": [
- {
- "deviceIndex": 0,
- "associatePublicIpAddress": true,
- "associateIpv6Address": true
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "deleteOnTermination": true,
- "volumeSize": 12,
- "volumeType": "gp2"
}
}
]
}
}, - "integrations": {
- "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "name",
- "arn": "arn",
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "azAwerness": true,
- "autoWeight": true
}
]
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z00275642KS5ZZJFIQBCA",
- "recordSetType": "a",
- "spotinstAccountId": "act-1234",
- "recordSets": [
- {
- "usePublicIp": true,
- "name": "testa.spot.io"
}
]
}
]
}
}, - "scheduling": {
- "tasks": [
- {
- "taskType": "scale",
- "startTime": "2018-05-23T10:55:09.000Z",
- "cronExpression": "0 1 * * *",
- "isEnabled": true,
- "frequency": "hourly"
}
]
}
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstance"
}
}| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| MI_ID required | string Example: MI_ID=smi-111 Managed Instance id you want to get |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "managedInstance": {
- "name": "mi-test",
- "description": "This is my Managed Instance",
- "region": "us-east-1",
- "strategy": {
- "lifeCycle": "spot",
- "orientation": "availabilityOriented",
- "drainingTimeout": 0,
- "fallbackToOd": true,
- "utilizeReservedInstances": true,
- "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "revertToSpot": {
- "performAt": "timeWindow"
}
}, - "persistence": {
- "blockDevicesMode": "reattach",
- "persistRootDevice": true,
- "persistBlockDevices": true,
- "persistPrivateIp": true
}, - "healthCheck": {
- "type": "EC2",
- "autoHealing": true,
- "gracePeriod": 120,
- "unhealthyDuration": 120
}, - "compute": {
- "subnetIds": [
- "subnet-79da021e"
], - "vpcId": "vpc-111",
- "elasticIp": "ip",
- "privateIp": "ip",
- "product": true,
- "launchSpecification": {
- "instanceTypes": {
- "preferredType": "t2.micro",
- "types": [
- "t2.micro"
]
}, - "ebsOptimized": false,
- "monitoring": false,
- "tenancy": "default",
- "iamRole": {
- "name": "name",
- "arn": "arn"
}, - "securityGroupIds": [
- "sg-0dfc2c8760df6fec7"
], - "imageId": "ami-01e24be29428c15b2",
- "keyPair": "labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "test1@spot.io"
}
], - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "networkInterfaces": [
- {
- "deviceIndex": 0,
- "associatePublicIpAddress": true,
- "associateIpv6Address": true
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "deleteOnTermination": true,
- "volumeSize": 12,
- "volumeType": "gp2"
}
}
]
}
}, - "integrations": {
- "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "name",
- "arn": "arn",
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "azAwerness": true,
- "autoWeight": true
}
]
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z00275642KS5ZZJFIQBCA",
- "recordSetType": "a",
- "spotinstAccountId": "act-1234",
- "recordSets": [
- {
- "usePublicIp": true,
- "name": "testa.spot.io"
}
]
}
]
}
}, - "scheduling": {
- "tasks": [
- {
- "taskType": "scale",
- "startTime": "2018-05-23T10:55:09.000Z",
- "cronExpression": "0 1 * * *",
- "isEnabled": true,
- "frequency": "hourly"
}
]
}
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstance"
}
}Get specific Managed Instance config.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| MI_ID required | string Example: MI_ID=smi-111 Managed Instance id you want to get |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "managedInstance": {
- "name": "mi-test",
- "description": "This is my Managed Instance",
- "region": "us-east-1",
- "strategy": {
- "lifeCycle": "spot",
- "orientation": "availabilityOriented",
- "drainingTimeout": 0,
- "fallbackToOd": true,
- "utilizeReservedInstances": true,
- "optimizationWindows": [
- "Mon:03:00-Wed:02:30"
], - "revertToSpot": {
- "performAt": "timeWindow"
}
}, - "persistence": {
- "blockDevicesMode": "reattach",
- "persistRootDevice": true,
- "persistBlockDevices": true,
- "persistPrivateIp": true
}, - "healthCheck": {
- "type": "EC2",
- "autoHealing": true,
- "gracePeriod": 120,
- "unhealthyDuration": 120
}, - "compute": {
- "subnetIds": [
- "subnet-79da021e"
], - "vpcId": "vpc-111",
- "elasticIp": "ip",
- "privateIp": "ip",
- "product": true,
- "launchSpecification": {
- "instanceTypes": {
- "preferredType": "t2.micro",
- "types": [
- "t2.micro"
]
}, - "ebsOptimized": false,
- "monitoring": false,
- "tenancy": "default",
- "iamRole": {
- "name": "name",
- "arn": "arn"
}, - "securityGroupIds": [
- "sg-0dfc2c8760df6fec7"
], - "imageId": "ami-01e24be29428c15b2",
- "keyPair": "labs-oregon",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "test1@spot.io"
}
], - "userData": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "shutdownScript": "dXNlcmJhc2g2NGVuY29kZWQ=",
- "creditSpecification": {
- "cpuCredits": "unlimited"
}, - "networkInterfaces": [
- {
- "deviceIndex": 0,
- "associatePublicIpAddress": true,
- "associateIpv6Address": true
}
], - "blockDeviceMappings": [
- {
- "deviceName": "/dev/xvdcz",
- "ebs": {
- "deleteOnTermination": true,
- "volumeSize": 12,
- "volumeType": "gp2"
}
}
]
}
}, - "integrations": {
- "loadBalancersConfig": {
- "loadBalancers": [
- {
- "name": "name",
- "arn": "arn",
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "azAwerness": true,
- "autoWeight": true
}
]
}, - "route53": {
- "domains": [
- {
- "hostedZoneId": "Z00275642KS5ZZJFIQBCA",
- "recordSetType": "a",
- "spotinstAccountId": "act-1234",
- "recordSets": [
- {
- "usePublicIp": true,
- "name": "testa.spot.io"
}
]
}
]
}
}, - "scheduling": {
- "tasks": [
- {
- "taskType": "scale",
- "startTime": "2018-05-23T10:55:09.000Z",
- "cronExpression": "0 1 * * *",
- "isEnabled": true,
- "frequency": "hourly"
}
]
}
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstance"
}
}Get specific Managed Instance config.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| MI_ID required | string Example: MI_ID=smi-111 Managed Instance id you want to get |
object | |
object |
{- "deallocationConfig": {
- "shouldDeleteImages": true,
- "shouldDeleteNetworkInterfaces": true,
- "shouldDeleteVolumes": true,
- "shouldDeleteSnapshots": true,
- "shouldTerminateInstance": true
}, - "amiBackup": {
- "shouldDeleteImages": true
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Pause an existing Managed Instance.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| MI_ID required | string Example: MI_ID=smi-111 Managed Instance id you want to get |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Resume an existing Managed Instance.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| MI_ID required | string Example: MI_ID=smi-111 Managed Instance id you want to get |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Recycle an existing Managed Instance.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| MI_ID required | string Example: MI_ID=smi-111 Managed Instance id you want to get |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Get financial information on a specific managed instance. To use this API, managedInstanceId must be defined.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| aggregationPeriod | string Data values following either a date format (YYYY-MM-DDTHH:mm:ss.SSSZ ; 2016-01-10T00:00:00.000Z) or Unix seconds Timestamp (1494751821) |
| fromDate required | string Data values following either a date format (YYYY-MM-DDTHH:mm:ss.SSSZ ; 2016-01-10T00:00:00.000Z) or Unix seconds Timestamp (1494751821) |
| MI_ID required | string Example: MI_ID=smi-111 Managed Instance id you want to get |
| toDATE required | string Data values following either a date format (YYYY-MM-DDTHH:mm:ss.SSSZ ; 2016-01-10T00:00:00.000Z) or Unix seconds Timestamp (1494751821) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "running": {
- "value": 4,
- "unit": "hours"
}, - "savings": {
- "value": 0,
- "unit": "percentage"
}, - "costs": {
- "actual": 0.268,
- "potential": 0.268
}
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstance:costs"
}
}Describes the current status of a specific Managed Instance – entailing information regarding running instance and its status.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| MI_ID required | string Example: MI_ID=smi-111 Managed Instance id you want to get |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "smi-50739ad2",
- "name": "i-0db00q51ec9069ebf",
- "status": "ACTIVE",
- "instanceId": "i-0vc9530daq19c4aad",
- "instanceType": "t2.micro",
- "imageId": "ami-03238ecdbdc7d6d6a",
- "privateIp": "172.31.10.21",
- "publicIp": "34.212.65.224",
- "createdAt": "2020-05-05T08:53:12.000Z",
- "launchedAt": "2020-05-05T08:53:12.000Z"
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:managedInstanceStatus"
}
}| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
object | |||||||||||||||||
| |||||||||||||||||
{- "migration": {
- "shouldKeepPrivateIp": false,
- "originalInstanceId": "i-123",
- "region": "us-east-1",
- "shouldTerminateInstance": false,
- "managedInstanceName": "us-east-1",
- "product": "Linux/UNIX",
- "spotInstanceTypes": [
- "m3.large"
], - "availabilityZones": [
- "us-west-2a"
]
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "migrationId": "smg-123",
- "managedInstanceId": "smi-123",
- "data": {
- "originalInstanceId": "i-123",
- "shouldKeepPrivateIp": true
}, - "state": "MIGRATE_START"
}
], - "count": 1,
- "kind": "potinst:aws:ec2:managedInstance:migration"
}
}| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| MI_ID required | string Example: MI_ID=smi-111 Managed Instance id you want to get |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "migrationId": "smg-123",
- "managedInstanceId": "smi-123",
- "state": "MIGRATE_START",
- "instanceId": "i-123"
}
], - "count": 1,
- "kind": "potinst:aws:ec2:managedInstance:migration"
}
}List all MR Scalers and their configuration.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "mrScaler": {
- "name": "my MRScaler",
- "description": "this is an MRScaler created with Spot",
- "region": "us-west-2",
- "strategy": {
- "wrapping": {
- "sourceClusterId": "c-1234"
}, - "new": {
- "releaseLabel": "emr-5.17.0",
- "numberOfRetries": 5
}, - "cloning": {
- "originClusterId": "j-38EE27G2QY02I",
- "includeSteps": false,
- "numberOfRetries": 5
}, - "provisioningTimeout": {
- "timeout": 15,
- "timeoutAction": "terminate"
}
}, - "compute": {
- "ebsRootVolumeSize": 4,
- "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetId": "subnet-3b5b3601"
}
], - "bootstrapActions": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "instanceGroups": [
- {
- "masterGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "target": 1,
- "lifeCycle": "SPOT",
- "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}, - "coreGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}, - "taskGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}
}
], - "instanceWeights": [
- {
- "instanceType": "m4.large",
- "weightedCapacity": 3
}
], - "emrManagedMasterSecurityGroup": "sg-123456789",
- "emrManagedSlaveSecurityGroup": "sg-123456789",
- "additionalMasterSecurityGroups": [
- "sg-123456789"
], - "additionalSlaveSecurityGroups": [
- "sg-123456789"
], - "serviceAccessSecurityGroup": "EMR_DefaultRole",
- "customAmiId": "ami-123456789",
- "repoUpgradeOnBoot": "SECURITY",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "someUser"
}
], - "ec2KeyName": "myEC2KeyName",
- "applications": [
- {
- "name": "Hue",
- "args": [
- "string"
], - "version": "1.0"
}
], - "configurations": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}
}, - "cluster": {
- "terminationProtected": false,
- "keepJobFlowAliveWhenNoSteps": true,
- "logUri": "s3://job-status",
- "additionalInfo": "{'test':'more information'}",
- "jobFlowRole": "EMR_EC2_DefaultRole",
- "serviceRole": "someIAMRole",
- "securityConfiguration": "testConfig"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "instanceGroupType": "task",
- "taskType": "setCapacity",
- "cronExpression": "* 8 * 10 *",
- "targetCapacity": 2,
- "minCapacity": 2,
- "maxCapacity": 2
}
]
}, - "scaling": {
- "up": {
- "policyName": "myScaleUpPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "minTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "gte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}, - "down": {
- "policyName": "myScaleDownPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "maxTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "lte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
}, - "terminationPolicies": [
- {
- "statements": [
- {
- "namespace": "AWS/ElasticMapReduce",
- "metricName": "AppsRunning",
- "statistic": "sum",
- "unit": "count",
- "threshold": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "operator": "gte"
}
]
}
]
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler"
}
}Create a new EMR cluster.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object | ||||||||||||||||||
| |||||||||||||||||||
{- "mrScaler": {
- "name": "my MRScaler",
- "description": "this is an MRScaler created with Spot",
- "region": "us-west-2",
- "strategy": {
- "wrapping": {
- "sourceClusterId": "c-1234"
}, - "new": {
- "releaseLabel": "emr-5.17.0",
- "numberOfRetries": 5
}, - "cloning": {
- "originClusterId": "j-38EE27G2QY02I",
- "includeSteps": false,
- "numberOfRetries": 5
}, - "provisioningTimeout": {
- "timeout": 15,
- "timeoutAction": "terminate"
}
}, - "compute": {
- "ebsRootVolumeSize": 4,
- "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetId": "subnet-3b5b3601"
}
], - "bootstrapActions": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "instanceGroups": [
- {
- "masterGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "target": 1,
- "lifeCycle": "SPOT",
- "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}, - "coreGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}, - "taskGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}
}
], - "instanceWeights": [
- {
- "instanceType": "m4.large",
- "weightedCapacity": 3
}
], - "emrManagedMasterSecurityGroup": "sg-123456789",
- "emrManagedSlaveSecurityGroup": "sg-123456789",
- "additionalMasterSecurityGroups": [
- "sg-123456789"
], - "additionalSlaveSecurityGroups": [
- "sg-123456789"
], - "serviceAccessSecurityGroup": "EMR_DefaultRole",
- "customAmiId": "ami-123456789",
- "repoUpgradeOnBoot": "SECURITY",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "someUser"
}
], - "ec2KeyName": "myEC2KeyName",
- "applications": [
- {
- "name": "Hue",
- "args": [
- "string"
], - "version": "1.0"
}
], - "configurations": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}
}, - "cluster": {
- "terminationProtected": false,
- "keepJobFlowAliveWhenNoSteps": true,
- "logUri": "s3://job-status",
- "additionalInfo": "{'test':'more information'}",
- "jobFlowRole": "EMR_EC2_DefaultRole",
- "serviceRole": "someIAMRole",
- "securityConfiguration": "testConfig"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "instanceGroupType": "task",
- "taskType": "setCapacity",
- "cronExpression": "* 8 * 10 *",
- "targetCapacity": 2,
- "minCapacity": 2,
- "maxCapacity": 2
}
]
}, - "scaling": {
- "up": {
- "policyName": "myScaleUpPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "minTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "gte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}, - "down": {
- "policyName": "myScaleDownPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "maxTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "lte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
}, - "terminationPolicies": [
- {
- "statements": [
- {
- "namespace": "AWS/ElasticMapReduce",
- "metricName": "AppsRunning",
- "statistic": "sum",
- "unit": "count",
- "threshold": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "operator": "gte"
}
]
}
]
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "mrScaler": {
- "name": "my MRScaler",
- "description": "this is an MRScaler created with Spot",
- "region": "us-west-2",
- "strategy": {
- "wrapping": {
- "sourceClusterId": "c-1234"
}, - "new": {
- "releaseLabel": "emr-5.17.0",
- "numberOfRetries": 5
}, - "cloning": {
- "originClusterId": "j-38EE27G2QY02I",
- "includeSteps": false,
- "numberOfRetries": 5
}, - "provisioningTimeout": {
- "timeout": 15,
- "timeoutAction": "terminate"
}
}, - "compute": {
- "ebsRootVolumeSize": 4,
- "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetId": "subnet-3b5b3601"
}
], - "bootstrapActions": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "instanceGroups": [
- {
- "masterGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "target": 1,
- "lifeCycle": "SPOT",
- "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}, - "coreGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}, - "taskGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}
}
], - "instanceWeights": [
- {
- "instanceType": "m4.large",
- "weightedCapacity": 3
}
], - "emrManagedMasterSecurityGroup": "sg-123456789",
- "emrManagedSlaveSecurityGroup": "sg-123456789",
- "additionalMasterSecurityGroups": [
- "sg-123456789"
], - "additionalSlaveSecurityGroups": [
- "sg-123456789"
], - "serviceAccessSecurityGroup": "EMR_DefaultRole",
- "customAmiId": "ami-123456789",
- "repoUpgradeOnBoot": "SECURITY",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "someUser"
}
], - "ec2KeyName": "myEC2KeyName",
- "applications": [
- {
- "name": "Hue",
- "args": [
- "string"
], - "version": "1.0"
}
], - "configurations": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}
}, - "cluster": {
- "terminationProtected": false,
- "keepJobFlowAliveWhenNoSteps": true,
- "logUri": "s3://job-status",
- "additionalInfo": "{'test':'more information'}",
- "jobFlowRole": "EMR_EC2_DefaultRole",
- "serviceRole": "someIAMRole",
- "securityConfiguration": "testConfig"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "instanceGroupType": "task",
- "taskType": "setCapacity",
- "cronExpression": "* 8 * 10 *",
- "targetCapacity": 2,
- "minCapacity": 2,
- "maxCapacity": 2
}
]
}, - "scaling": {
- "up": {
- "policyName": "myScaleUpPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "minTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "gte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}, - "down": {
- "policyName": "myScaleDownPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "maxTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "lte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
}, - "terminationPolicies": [
- {
- "statements": [
- {
- "namespace": "AWS/ElasticMapReduce",
- "metricName": "AppsRunning",
- "statistic": "sum",
- "unit": "count",
- "threshold": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "operator": "gte"
}
]
}
]
}
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler"
}
}Get a description of a specific MR Scaler and its configuration.
| MrScalerId required | string Example: simrs-12223 The MRScaler ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "mrScaler": {
- "name": "my MRScaler",
- "description": "this is an MRScaler created with Spot",
- "region": "us-west-2",
- "strategy": {
- "wrapping": {
- "sourceClusterId": "c-1234"
}, - "new": {
- "releaseLabel": "emr-5.17.0",
- "numberOfRetries": 5
}, - "cloning": {
- "originClusterId": "j-38EE27G2QY02I",
- "includeSteps": false,
- "numberOfRetries": 5
}, - "provisioningTimeout": {
- "timeout": 15,
- "timeoutAction": "terminate"
}
}, - "compute": {
- "ebsRootVolumeSize": 4,
- "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetId": "subnet-3b5b3601"
}
], - "bootstrapActions": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "instanceGroups": [
- {
- "masterGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "target": 1,
- "lifeCycle": "SPOT",
- "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}, - "coreGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}, - "taskGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}
}
], - "instanceWeights": [
- {
- "instanceType": "m4.large",
- "weightedCapacity": 3
}
], - "emrManagedMasterSecurityGroup": "sg-123456789",
- "emrManagedSlaveSecurityGroup": "sg-123456789",
- "additionalMasterSecurityGroups": [
- "sg-123456789"
], - "additionalSlaveSecurityGroups": [
- "sg-123456789"
], - "serviceAccessSecurityGroup": "EMR_DefaultRole",
- "customAmiId": "ami-123456789",
- "repoUpgradeOnBoot": "SECURITY",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "someUser"
}
], - "ec2KeyName": "myEC2KeyName",
- "applications": [
- {
- "name": "Hue",
- "args": [
- "string"
], - "version": "1.0"
}
], - "configurations": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}
}, - "cluster": {
- "terminationProtected": false,
- "keepJobFlowAliveWhenNoSteps": true,
- "logUri": "s3://job-status",
- "additionalInfo": "{'test':'more information'}",
- "jobFlowRole": "EMR_EC2_DefaultRole",
- "serviceRole": "someIAMRole",
- "securityConfiguration": "testConfig"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "instanceGroupType": "task",
- "taskType": "setCapacity",
- "cronExpression": "* 8 * 10 *",
- "targetCapacity": 2,
- "minCapacity": 2,
- "maxCapacity": 2
}
]
}, - "scaling": {
- "up": {
- "policyName": "myScaleUpPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "minTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "gte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}, - "down": {
- "policyName": "myScaleDownPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "maxTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "lte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
}, - "terminationPolicies": [
- {
- "statements": [
- {
- "namespace": "AWS/ElasticMapReduce",
- "metricName": "AppsRunning",
- "statistic": "sum",
- "unit": "count",
- "threshold": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "operator": "gte"
}
]
}
]
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler"
}
}Update an MR Scaler. Partial updating is supported.
| MrScalerId required | string Example: simrs-12223 The MRScaler ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
object MR Scaler Object - Update Task Capacity | |||||||||||||||||||||||
| |||||||||||||||||||||||
{- "mrScaler": {
- "compute": {
- "instanceGroups": {
- "taskGroup": {
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "dynamicVolumeSize": {
- "baseSize": 30,
- "resource": "CPU",
- "sizePerResourceUnit": 15
}
}
}
]
}
}
}
}
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "mrScaler": {
- "name": "my MRScaler",
- "description": "this is an MRScaler created with Spot",
- "region": "us-west-2",
- "strategy": {
- "wrapping": {
- "sourceClusterId": "c-1234"
}, - "new": {
- "releaseLabel": "emr-5.17.0",
- "numberOfRetries": 5
}, - "cloning": {
- "originClusterId": "j-38EE27G2QY02I",
- "includeSteps": false,
- "numberOfRetries": 5
}, - "provisioningTimeout": {
- "timeout": 15,
- "timeoutAction": "terminate"
}
}, - "compute": {
- "ebsRootVolumeSize": 4,
- "availabilityZones": [
- {
- "name": "us-west-2a",
- "subnetId": "subnet-3b5b3601"
}
], - "bootstrapActions": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}, - "instanceGroups": [
- {
- "masterGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "target": 1,
- "lifeCycle": "SPOT",
- "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}, - "coreGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}, - "taskGroup": {
- "instanceTypes": [
- "m3.xlarge",
- "m4.large",
- "m4.xlarge",
- "m4.2xlarge"
], - "capacity": {
- "minimum": 1,
- "target": 5,
- "maximum": 10
}, - "lifeCycle": "SPOT",
- "ebsConfiguration": {
- "ebsBlockDeviceConfigs": [
- {
- "volumeSpecification": {
- "volumeType": "io1",
- "dynamicVolumeSize": {
- "baseSize": 50,
- "resource": "CPU",
- "sizePerResourceUnit": 20
}, - "sizeInGB": 8,
- "iops": 200
}, - "volumesPerInstance": 1
}
], - "ebsOptimized": true
}, - "configurations": {
- "jsonConfiguration": {
- "classification": "mapred-site",
- "properties": {
- "mapred.tasktracker.map.tasks.maximum": 2
}, - "configuartions": [
- {
- "classification": "hadoop-env",
- "properties": {
- "HADOOP_DATANODE_HEAPSIZE": 2048,
- "HADOOP_NAMENODE_OPTS": "-XX:GCTimeRatio=19"
}
}
]
}
}
}
}
], - "instanceWeights": [
- {
- "instanceType": "m4.large",
- "weightedCapacity": 3
}
], - "emrManagedMasterSecurityGroup": "sg-123456789",
- "emrManagedSlaveSecurityGroup": "sg-123456789",
- "additionalMasterSecurityGroups": [
- "sg-123456789"
], - "additionalSlaveSecurityGroups": [
- "sg-123456789"
], - "serviceAccessSecurityGroup": "EMR_DefaultRole",
- "customAmiId": "ami-123456789",
- "repoUpgradeOnBoot": "SECURITY",
- "tags": [
- {
- "tagKey": "Creator",
- "tagValue": "someUser"
}
], - "ec2KeyName": "myEC2KeyName",
- "applications": [
- {
- "name": "Hue",
- "args": [
- "string"
], - "version": "1.0"
}
], - "configurations": {
- "file": {
- "bucket": "emr-test",
- "key": "MyFile.json"
}
}
}, - "cluster": {
- "terminationProtected": false,
- "keepJobFlowAliveWhenNoSteps": true,
- "logUri": "s3://job-status",
- "additionalInfo": "{'test':'more information'}",
- "jobFlowRole": "EMR_EC2_DefaultRole",
- "serviceRole": "someIAMRole",
- "securityConfiguration": "testConfig"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "instanceGroupType": "task",
- "taskType": "setCapacity",
- "cronExpression": "* 8 * 10 *",
- "targetCapacity": 2,
- "minCapacity": 2,
- "maxCapacity": 2
}
]
}, - "scaling": {
- "up": {
- "policyName": "myScaleUpPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "minTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "gte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}, - "down": {
- "policyName": "myScaleDownPolicyName",
- "metricName": "AppsPending",
- "unit": "count",
- "threshold": 100,
- "action": {
- "type": "adjustment",
- "maxTargetCapacity": 1,
- "adjustment": 2,
- "target": 2,
- "minimum": 1,
- "maximum": 5
}, - "adjustment": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "dimensions": [
- {
- "name": "JobFlowId"
}
], - "operator": "lte",
- "statistic": "average",
- "namespace": "AWS/ElasticMapReduce"
}
}, - "terminationPolicies": [
- {
- "statements": [
- {
- "namespace": "AWS/ElasticMapReduce",
- "metricName": "AppsRunning",
- "statistic": "sum",
- "unit": "count",
- "threshold": 2,
- "period": 300,
- "evaluationPeriods": 1,
- "operator": "gte"
}
]
}
]
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler"
}
}Delete an MR Scaler
| MrScalerId required | string Example: simrs-12223 The MRScaler ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Get a list of all instances and instances groups in the cluster
| MrScalerId required | string Example: simrs-12223 The MRScaler ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "instanceId": "i-asdfjk3989",
- "instanceGroupId": "ig-asdfjl2",
- "instanceGroupRole": "MASTER",
- "instanceType": "m1.medium",
- "availabilityZone": "us-east-1a",
- "status": "Running",
- "updatedAt": "2015-08-02T09:11:16.356Z"
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler:instance"
}
}Scale up MR Scaler instances
| MrScalerId required | string Example: simrs-12223 The MRScaler ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| adjustment required | any Example: adjustment=3 Number of instances to add to the MR Scaler |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "modifiedInstanceGroups": [
- "ig-2470IUVXLJ652S",
- "ig-9870IUVXMYYW9"
], - "newInstanceGroups": [
- "ig-0570LPWAZXBSR3"
]
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler:scale"
}
}Scale down MR Scaler instances
| MrScalerId required | string Example: simrs-12223 The MRScaler ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| adjustment required | any Example: adjustment=3 Number of instances to remove from the MR Scaler |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "modifiedInstanceGroups": [
- "ig-2470IUVXLJ652S",
- "ig-9870IUVXMYYW9"
], - "victimInstances": [
- "ig-0570LPWAZXBSR3"
]
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler:scale"
}
}Get a list of all MR Scaler clusters
| MrScalerId required | string Example: simrs-12223 The MRScaler ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "j-3N7WPI3R0D1R7",
- "availabilityZone": "us-east-1a",
- "state": "terminated",
- "createdAt": "2015-08-02T09:11:16.356Z",
- "updatedAt": "2015-08-02T10:11:16.356Z"
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler:cluster"
}
}Get financial information on the MR Scaler, including running time, costs, and savings
| MrScalerId required | string Example: simrs-12223 The MRScaler ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | string or string Example: fromDate=2020-09-01 or fromDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
required | string or string Example: toDate=2020-09-01 or toDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "running": {
- "value": 294.3,
- "unit": "hours"
}, - "savings": {
- "value": 60.5263,
- "unit": "percentage"
}, - "costs": {
- "actual": 8.829,
- "potential": 22.3668
}
}
], - "count": 1,
- "kind": "spotinst:aws:emr:mrScaler:costs"
}
}Update an Azure Elastigroup cluster.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object | ||||||||||||||||
| |||||||||||||||||
{- "group": {
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "spotPercentage": 50,
- "drainingTimeout": 30,
- "fallbackToOd": true
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "os": "Linux",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "spotPercentage": 50,
- "drainingTimeout": 30,
- "fallbackToOd": true
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "os": "Linux",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}
}
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group"
}
}List an Elastigroup cluster.
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "spotPercentage": 50,
- "drainingTimeout": 30,
- "fallbackToOd": true
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "os": "Linux",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}
}
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group"
}
}Delete an Elastigroup cluster.
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Create a new Elastigroup cluster.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object (Azure Elastigroup) | ||||||||||||||||
| |||||||||||||||||
{- "group": {
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "spotPercentage": 50,
- "drainingTimeout": 30,
- "fallbackToOd": true
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "os": "Linux",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "spotPercentage": 50,
- "drainingTimeout": 30,
- "fallbackToOd": true
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "os": "Linux",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}
}
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group"
}
}List Elastigroup clusters.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| NAME | string Example: NAME=name Filters to find the elastigroup via a specific name. |
| REGION | string Example: REGION=region Filters to find all the groups in a specific region. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "spotPercentage": 50,
- "drainingTimeout": 30,
- "fallbackToOd": true
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "os": "Linux",
- "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}
}
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group"
}
}Get status of Elastigroup cluster.
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "status": "ready",
- "vms": [
- {
- "vmName": "vm-12345",
- "region": "eastus",
- "vmSize": "standard_a1_v2",
- "lifeCycle": "spot",
- "os": "Linux",
- "privateIp": "192.0.0.1",
- "publicIp": "183.123.67.79",
- "provisioningState": "succeeded",
- "powerState": "running",
- "createdAt": "2020-06-18T12:02:49.000Z"
}
]
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:status"
}
}Scale down virtual machines in Elastigroup cluster.
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| adjustment required | integer Example: adjustment=5 Number of VMs to scale down |
object | |||||||||
| |||||||||
{- "scale": {
- "virtualMachinesToDetach": [
- "vm01"
], - "shouldTerminateVirtualMachines": true,
- "shouldDecrementTargetCapacity": true,
- "drainingTimeout": 300
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "status": "ready",
- "vms": [
- {
- "vmName": "vm-12345",
- "region": "eastus",
- "vmSize": "standard_a1_v2",
- "lifeCycle": "spot",
- "os": "Linux",
- "privateIp": "192.0.0.1",
- "publicIp": "183.123.67.79",
- "provisioningState": "succeeded",
- "powerState": "running",
- "createdAt": "2020-06-18T12:02:49.000Z"
}
]
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:status"
}
}Scale up virtual machines in Elastigroup cluster.
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| adjustment required | integer Example: adjustment=5 Number of VMs to scale up |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "status": "ready",
- "vms": [
- {
- "vmName": "vm-12345",
- "region": "eastus",
- "vmSize": "standard_a1_v2",
- "lifeCycle": "spot",
- "os": "Linux",
- "privateIp": "192.0.0.1",
- "publicIp": "183.123.67.79",
- "provisioningState": "succeeded",
- "powerState": "running",
- "createdAt": "2020-06-18T12:02:49.000Z"
}
]
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:status"
}
}Deploy the Elastigroup. This triggers a Blue/Green deployment that replaces the existing VMs in the Elastigroup.
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
object | |||||||||||
| |||||||||||
{- "deployment": {
- "batchSizePercentage": 50,
- "gracePeriod": 300,
- "batchMinHealthyPercentage": 100,
- "drainingTimeout": 120,
- "healthCheckTypes": "vmState"
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-f331fb8e",
- "groupId": "sig-a7aa60cd",
- "status": "deploymentStart",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 10
}, - "updatedAt": "2020-06-22T11:15:06.614Z",
- "createdAt": "2020-06-22T11:15:06.614Z"
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:deployment"
}
}Deploy the Elastigroup. This triggers a Blue/Green deployment that replaces the existing VMs in the Elastigroup.
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| LIMIT | integer Example: LIMIT=14 Limits the number of deployments returned. Default: 5 |
| SORT | string Example: SORT=createdAt:DESC Field by which to sort the results. Default: createdAt:DESC |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-f331fb8e",
- "groupId": "sig-a7aa60cd",
- "status": "deploymentStart",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 10
}, - "updatedAt": "2020-06-22T11:15:06.614Z",
- "createdAt": "2020-06-22T11:15:06.614Z"
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:deployment"
}
}Get the status of a specific deployment.
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| DEPLOYMENT_ID required | string Example: DEPLOYMENT_ID=sbgd-9876 The deployment ID you want to query. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-f331fb8e",
- "groupId": "sig-a7aa60cd",
- "status": "deploymentStart",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 10
}, - "updatedAt": "2020-06-22T11:15:06.614Z",
- "createdAt": "2020-06-22T11:15:06.614Z"
}
], - "count": 1,
- "kind": "spotinst:azure:compute:group:deployment"
}
}Get the detailed status of a specific deployment. This includes status details per batch and other information.
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| DEPLOYMENT_ID required | string Example: DEPLOYMENT_ID=sbgd-9876 The deployment ID you want to query. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "detailsOverview": {
- "deploymentId": "sbgd-04c4658b",
- "numberOfBatches": 2,
- "currentBatch": 2,
- "gracePeriod": 2,
- "blueVms": 2,
- "greenVms": 1,
- "description": null,
- "errorMessage": null,
- "createdAt": "2020-06-18T05:33:18.000Z",
- "healthCheck": [
- "instanceState"
]
}, - "batches": [
- {
- "batch": 1,
- "blue": {
- "vmName": "i-57ef3cf7a694",
- "batchNum": 1,
- "status": "detached",
- "type": "old",
- "updatedAt": "2020-06-18T11:16:58.000Z"
}, - "green": {
- "vmName": "i-f2a44ba41875",
- "batchNum": 1,
- "status": "detached",
- "type": "old",
- "updatedAt": "2020-06-18T11:16:58.000Z"
}
}
], - "events": [
- {
- "status": "deploymentStart",
- "eventType": "Batch 1 - Launching New instances",
- "timestamp": "2020-06-18T05:33:18.000Z"
}
]
}
], - "count": 1,
- "kind": "spotinst:azure:compute:deployment:details"
}
}CThe VM signal API is used for notifying Spot about the VM state so that Spot can act accordingly. Supported signals are vmReady – Whenever this signal is sent, Spot will register the instance to the relevant Load Balancer and Application Gateway. vmReadyToShutdown – When this signal is received after a vm is detached; we will immediately terminate the vm. You must define the expected signals for your Elastigroup in the group configuration.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
object | |||||
| |||||
{- "signal": {
- "vmName": "vm-123456",
- "signalType": "vmReady"
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}You can fetch a Elastigroup’s elastilog via the Spot API, in order to be able to consume elastilog from various tools used for log storing and analyzing. Logs have retention of 3 months back, so minimal fromDate should be up to 3 months back at runtime.
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| FROM_DATE required | string Example: FROM_DATE=1540036800000 Epoch number that represents the date from which to collect the log (millisecond format) |
| LIMIT | string Example: LIMIT=500 Maximum number of lines to extract in a response. Max value allowed - 1000. |
| RESOURCE_ID | string Example: RESOURCE_ID=vm-12345678 Filter log extracted entires related to a specific resource id Default: Null |
| SEVERITY | string Example: SEVERITY=ALL Severity of log entries to extract. Valid Values: ALL, INFO,DEBUG,WARN Default: ALL |
| TO_DATE required | string Example: TO_DATE=1542715200000 Epoch number that represents the date until which log is collected (millisecond format) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "logs": [
- {
- "message": "Group sig-e0a2bd7c successfully created.",
- "severity": "INFO",
- "createdAt": "2018-11-19T14:34:15.000Z"
}
]
}
], - "count": 1,
- "kind": "spotinst:aws:ec2:group:log"
}
}Elastigroup for Microsoft Azure
List all Azure Elastigroups for a Spot Account
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "lowPriorityPercentage": 0,
- "odCount": 0,
- "drainingTimeout": 0
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "product": "Linux",
- "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}, - "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "thirdPartiesIntegration": {
- "kubernetes": {
- "clusterIdentifier": "aks-engine-cluser"
}, - "hpcGridEngine": {
- "clusterId": "spotinst-uge-cluster",
- "queues": [
- {
- "name": "burst.q"
}
], - "distribution": "sge",
- "tortuga": {
- "softwareProfile": "execd",
- "hardwareProfile": "execd-elastigroup"
}
}
}
}
}
], - "count": 1,
- "kind": "string"
}
}Create a new Azure Elastigroup
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object | ||||||||||||||||
| |||||||||||||||||
{- "group": {
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "lowPriorityPercentage": 0,
- "odCount": 0,
- "drainingTimeout": 0
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "product": "Linux",
- "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}, - "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "thirdPartiesIntegration": {
- "kubernetes": {
- "clusterIdentifier": "aks-engine-cluser"
}, - "hpcGridEngine": {
- "clusterId": "spotinst-uge-cluster",
- "queues": [
- {
- "name": "burst.q"
}
], - "distribution": "sge",
- "tortuga": {
- "softwareProfile": "execd",
- "hardwareProfile": "execd-elastigroup"
}
}
}
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "lowPriorityPercentage": 0,
- "odCount": 0,
- "drainingTimeout": 0
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "product": "Linux",
- "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}, - "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "thirdPartiesIntegration": {
- "kubernetes": {
- "clusterIdentifier": "aks-engine-cluser"
}, - "hpcGridEngine": {
- "clusterId": "spotinst-uge-cluster",
- "queues": [
- {
- "name": "burst.q"
}
], - "distribution": "sge",
- "tortuga": {
- "softwareProfile": "execd",
- "hardwareProfile": "execd-elastigroup"
}
}
}
}
}
], - "count": 1,
- "kind": "string"
}
}Delete an Elastigroup Azure
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}List all properties for single Azure Elastigroup
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "lowPriorityPercentage": 0,
- "odCount": 0,
- "drainingTimeout": 0
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "product": "Linux",
- "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}, - "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "thirdPartiesIntegration": {
- "kubernetes": {
- "clusterIdentifier": "aks-engine-cluser"
}, - "hpcGridEngine": {
- "clusterId": "spotinst-uge-cluster",
- "queues": [
- {
- "name": "burst.q"
}
], - "distribution": "sge",
- "tortuga": {
- "softwareProfile": "execd",
- "hardwareProfile": "execd-elastigroup"
}
}
}
}
}
], - "count": 1,
- "kind": "string"
}
}Update an Azure Elastigroup
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object | ||||||||||||||||
| |||||||||||||||||
{- "group": {
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "lowPriorityPercentage": 0,
- "odCount": 0,
- "drainingTimeout": 0
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "product": "Linux",
- "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}, - "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "thirdPartiesIntegration": {
- "kubernetes": {
- "clusterIdentifier": "aks-engine-cluser"
}, - "hpcGridEngine": {
- "clusterId": "spotinst-uge-cluster",
- "queues": [
- {
- "name": "burst.q"
}
], - "distribution": "sge",
- "tortuga": {
- "softwareProfile": "execd",
- "hardwareProfile": "execd-elastigroup"
}
}
}
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "lowPriorityPercentage": 0,
- "odCount": 0,
- "drainingTimeout": 0
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "product": "Linux",
- "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}, - "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "thirdPartiesIntegration": {
- "kubernetes": {
- "clusterIdentifier": "aks-engine-cluser"
}, - "hpcGridEngine": {
- "clusterId": "spotinst-uge-cluster",
- "queues": [
- {
- "name": "burst.q"
}
], - "distribution": "sge",
- "tortuga": {
- "softwareProfile": "execd",
- "hardwareProfile": "execd-elastigroup"
}
}
}
}
}
], - "count": 1,
- "kind": "string"
}
}Get the status for all instances that are memebers of the Elastigroup
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "instanceId": "ec5410ea-fec7-4a03-a989-3b27b7ee2ed5",
- "region": "eastus",
- "vmSize": "standard_a1_v2",
- "lifeCycle": "low-priority",
- "privateIp": "10.0.0.8",
- "publicIp": "168.62.168.93",
- "state": "running",
- "createdAt": "2018-06-20T11:16:32.000Z"
}
], - "count": 1,
- "kind": "string"
}
}Detach one or more instances from an Azure Elastigroup
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| drainingTimeout | integer |
| instancesToDetach | Array of strings |
| shouldDecrementTargetCapacity | boolean |
{- "instancesToDetach": [
- "string"
], - "shouldDecrementTargetCapacity": true,
- "drainingTimeout": 300
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "detachedOd": [
- "string"
], - "detachedLowPriority": [
- "string"
]
}
], - "count": 1,
- "kind": "string"
}
}List all Azure Tasks for a Spot Account
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "lowPriorityPercentage": 0,
- "odCount": 0,
- "drainingTimeout": 0
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "product": "Linux",
- "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}, - "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "thirdPartiesIntegration": {
- "kubernetes": {
- "clusterIdentifier": "aks-engine-cluser"
}, - "hpcGridEngine": {
- "clusterId": "spotinst-uge-cluster",
- "queues": [
- {
- "name": "burst.q"
}
], - "distribution": "sge",
- "tortuga": {
- "softwareProfile": "execd",
- "hardwareProfile": "execd-elastigroup"
}
}
}
}
}
], - "count": 1,
- "kind": "string"
}
}Create a new Azure Task
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object | ||||||||||||||||
| |||||||||||||||||
{- "group": {
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "lowPriorityPercentage": 0,
- "odCount": 0,
- "drainingTimeout": 0
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "product": "Linux",
- "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}, - "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "thirdPartiesIntegration": {
- "kubernetes": {
- "clusterIdentifier": "aks-engine-cluser"
}, - "hpcGridEngine": {
- "clusterId": "spotinst-uge-cluster",
- "queues": [
- {
- "name": "burst.q"
}
], - "distribution": "sge",
- "tortuga": {
- "softwareProfile": "execd",
- "hardwareProfile": "execd-elastigroup"
}
}
}
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "lowPriorityPercentage": 0,
- "odCount": 0,
- "drainingTimeout": 0
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "product": "Linux",
- "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}, - "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "thirdPartiesIntegration": {
- "kubernetes": {
- "clusterIdentifier": "aks-engine-cluser"
}, - "hpcGridEngine": {
- "clusterId": "spotinst-uge-cluster",
- "queues": [
- {
- "name": "burst.q"
}
], - "distribution": "sge",
- "tortuga": {
- "softwareProfile": "execd",
- "hardwareProfile": "execd-elastigroup"
}
}
}
}
}
], - "count": 1,
- "kind": "string"
}
}Delete an Elastigroup Azure
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Update an Elastigroup Azure
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object | ||||||||||||||||
| |||||||||||||||||
{- "group": {
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "lowPriorityPercentage": 0,
- "odCount": 0,
- "drainingTimeout": 0
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "product": "Linux",
- "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}, - "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "thirdPartiesIntegration": {
- "kubernetes": {
- "clusterIdentifier": "aks-engine-cluser"
}, - "hpcGridEngine": {
- "clusterId": "spotinst-uge-cluster",
- "queues": [
- {
- "name": "burst.q"
}
], - "distribution": "sge",
- "tortuga": {
- "softwareProfile": "execd",
- "hardwareProfile": "execd-elastigroup"
}
}
}
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-123456789",
- "name": "spotinst-group",
- "region": "eastus",
- "resourceGroupName": "spotinst-azure",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 10
}, - "scaling": {
- "up": [
- {
- "policyName": "cpuScaleUp",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.75,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "gte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
], - "down": [
- {
- "policyName": "cpuScaleDown",
- "metricName": "Percentage CPU",
- "statistic": "average",
- "threshold": 0.25,
- "period": 60,
- "evaluationPeriods": 3,
- "cooldown": 300,
- "namespace": "Microsoft.Network/applicationGateways",
- "operator": "lte",
- "dimenstions": [
- {
- "name": "resourceName",
- "value": "TestAppGateway"
}
], - "action": {
- "type": "adjustment",
- "adjustment": "2"
}
}
]
}, - "strategy": {
- "lowPriorityPercentage": 0,
- "odCount": 0,
- "drainingTimeout": 0
}, - "compute": {
- "vmSizes": {
- "odSizes": [
- "standard_a1_v1"
], - "lowPrioritySizes": [
- "standard_a2_v2"
]
}, - "product": "Linux",
- "health": {
- "autoHealing": true,
- "healthCheckType": "INSTANCE_STATE",
- "gracePeriod": 120
}, - "launchSpecification": {
- "image": {
- "marketplace": {
- "publisher": "OpenLogic",
- "offer": "CentOS",
- "sku": "7.3",
- "version": "7.3-1611"
}, - "shutdownScript": "IyEvdXNyL2Jpbi9lbnYgYmFzaAoiR29vZGJ5ZSBvbGQgaW5zdGFuY2Ui",
- "custom": {
- "resourceGroupName": "spotinst-azure",
- "imageName": "custom-image-name"
}
}, - "loadBalancersConfig": {
- "loadBalancers": [
- {
- "type": "MULTAI_TARGET_SET",
- "balancerId": "lb-1ee2e3q",
- "targetSetId": "ts-3eq",
- "autoWeight": true
}
]
}, - "userData": "string",
- "managedServiceIdentities": [
- {
- "name": null,
- "example": null
}
], - "tags": [
- {
- "tagKey": "env",
- "tagValue": "staging"
}
], - "network": {
- "virtualNetworkName": "vname",
- "subnetName": "my-subnet-name",
- "resourceGroupName": "subnetResourceGroup",
- "assignPublicIp": null,
- "additionalIpConfigurations": [
- {
- "name": "config1",
- "privateIpAddressVersion": "IPv4"
}
]
}, - "extensions": [
- {
- "autoUpgradeMinorVersion": true,
- "name": "k8s-agentpool1-38611891-vmss-computeAksLinuxBilling",
- "protectedSettings": null,
- "publisher": "Microsoft.AKS",
- "type": "Compute.AKS-Engine.Linux.Billing",
- "typeHandlerVersion": "1.0"
}
], - "customData": "string",
- "login": {
- "userName": "spotinst",
- "sshPublicKey": "string",
- "password": "string"
}
}
}, - "thirdPartiesIntegration": {
- "kubernetes": {
- "clusterIdentifier": "aks-engine-cluser"
}, - "hpcGridEngine": {
- "clusterId": "spotinst-uge-cluster",
- "queues": [
- {
- "name": "burst.q"
}
], - "distribution": "sge",
- "tortuga": {
- "softwareProfile": "execd",
- "hardwareProfile": "execd-elastigroup"
}
}
}
}
}
], - "count": 1,
- "kind": "string"
}
}Deployments for Elastigroup on Microsoft Azure
Historical list of all deployments for an Azure Elastigroup
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-9876",
- "status": "ROLL_STARTING"
}
], - "count": 1,
- "kind": "string"
}
}Start a new Azure Elastigroup deployment
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-9876",
- "status": "ROLL_STARTING"
}
], - "count": 1,
- "kind": "string"
}
}Describe a single deployment for an Azure Elastigroup
| deploymentId required | string Example: sbgd-9876 Azure Elastigroup ID |
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-9876",
- "status": "ROLL_STARTING"
}
], - "count": 1,
- "kind": "string"
}
}Stop a deployment
| deploymentId required | string Example: sbgd-9876 Azure Elastigroup ID |
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}List all GCP Elastigroups for a Spot Account
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-1234567",
- "name": "spotinst-group",
- "description": "Some GCP Elastigroup description",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 20,
- "unit": "instance"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "taskType": "setCapacity",
- "cronExpression": "1 10 * * *",
- "targetCapacity": 2,
- "minCapacity": 1,
- "maxCapacity": 3
}
]
}, - "strategy": {
- "fallbackToOd": true,
- "optimizationWindows": [
- [
- "Mon:01:00-Mon:02:00"
]
], - "revertToPreemptible": {
- "performAt": "timeWindow"
}, - "preemptiblePercentage": 90,
- "onDemandCount": 2,
- "drainingTimeout": 30
}, - "compute": {
- "launchSpecification": {
- "metadata": [
- {
- "key": "environment",
- "value": "production"
}
], - "tags": [
- [
- "prod1",
- "testingfeature"
]
], - "backendServiceConfig": {
- "backendServices": [
- {
- "backendServiceName": "bserv-2",
- "locationType": "global",
- "scheme": null,
- "namedPorts": {
- "name": "https",
- "ports": [
- [
- 443,
- 8443
]
]
}
}
]
}, - "disks": [
- {
- "deviceName": null,
- "initializeParams": {
- "diskSizeGb": 10,
- "diskType": "pd-standard",
}, - "mode": "READ_WRITE",
- "source": null,
- "type": "PERSISTENT",
- "autoDelete": true,
- "boot": true,
- "interface": "SCSI"
}
], - "networkInterfaces": [
- {
- "network": "spot-network",
- "projectId": "test-project"
}
], - "startupScript": "IyEvYmluL2Jhc2gNCnRvdWNoIHRlc3Qiquwhq38",
- "shutdownScript": null,
- "ipForwarding": false,
- "minCpuPlatform": "Intel Sandy Bridge"
}, - "instanceTypes": {
- "ondemand": "n1-standard-1",
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
]
}, - "availabilityZones": [
- "asia-east1-a",
- "asia-east1-b",
- "asia-east1-c"
], - "gpu": {
- "type": "nvidia-tesla-v100",
- "count": 1
}, - "subnets": [
- {
- "region": "us-west1",
- "subnetNames": [
- "private"
]
}
], - "elasticIps": null
}, - "scaling": {
- "up": [
- {
- "policyName": "scale_up_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
], - "down": [
- {
- "policyName": "scale_down_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
]
}, - "thirdPartiesIntegration": {
- "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234
}, - "gke": {
- "autoUpdate": true,
- "autoScale": {
- "isEnabled": true,
- "isAutoConfig": false,
- "cooldown": 300,
- "headroom": {
- "cpuPerUnit": 1,
- "memoryPerUnit": 0,
- "numOfUnits": 1
}, - "down": {
- "evaluationPeriods": 5
}
}, - "clusterIdentifier": "gke-clust-1",
- "location": "us-west1"
}
}, - "createdAt": "2020-10-16T09:03:23.000Z",
- "updatedAt": "2020-10-16T09:03:23.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group"
}
}Create a new GCP Elastigroup
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object | ||||||||||||||||||||
| |||||||||||||||||||||
{- "group": {
- "name": "spotinst-group",
- "description": "Some GCP Elastigroup description",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 20,
- "unit": "instance"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "taskType": "setCapacity",
- "cronExpression": "1 10 * * *",
- "targetCapacity": 2,
- "minCapacity": 1,
- "maxCapacity": 3
}
]
}, - "strategy": {
- "fallbackToOd": true,
- "optimizationWindows": [
- [
- "Mon:01:00-Mon:02:00"
]
], - "revertToPreemptible": {
- "performAt": "timeWindow"
}, - "preemptiblePercentage": 90,
- "onDemandCount": 2,
- "drainingTimeout": 30
}, - "compute": {
- "launchSpecification": {
- "metadata": [
- {
- "key": "environment",
- "value": "production"
}
], - "tags": [
- [
- "prod1",
- "testingfeature"
]
], - "backendServiceConfig": {
- "backendServices": [
- {
- "backendServiceName": "bserv-2",
- "locationType": "global",
- "scheme": null,
- "namedPorts": {
- "name": "https",
- "ports": [
- [
- 443,
- 8443
]
]
}
}
]
}, - "disks": [
- {
- "deviceName": null,
- "initializeParams": {
- "diskSizeGb": 10,
- "diskType": "pd-standard",
}, - "mode": "READ_WRITE",
- "source": null,
- "type": "PERSISTENT",
- "autoDelete": true,
- "boot": true,
- "interface": "SCSI"
}
], - "networkInterfaces": [
- {
- "network": "spot-network",
- "projectId": "test-project"
}
], - "startupScript": "IyEvYmluL2Jhc2gNCnRvdWNoIHRlc3Qiquwhq38",
- "shutdownScript": null,
- "ipForwarding": false,
- "minCpuPlatform": "Intel Sandy Bridge"
}, - "instanceTypes": {
- "ondemand": "n1-standard-1",
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
]
}, - "availabilityZones": [
- "asia-east1-a",
- "asia-east1-b",
- "asia-east1-c"
], - "gpu": {
- "type": "nvidia-tesla-v100",
- "count": 1
}, - "subnets": [
- {
- "region": "us-west1",
- "subnetNames": [
- "private"
]
}
], - "elasticIps": null
}, - "scaling": {
- "up": [
- {
- "policyName": "scale_up_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
], - "down": [
- {
- "policyName": "scale_down_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
]
}, - "thirdPartiesIntegration": {
- "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234
}, - "gke": {
- "autoUpdate": true,
- "autoScale": {
- "isEnabled": true,
- "isAutoConfig": false,
- "cooldown": 300,
- "headroom": {
- "cpuPerUnit": 1,
- "memoryPerUnit": 0,
- "numOfUnits": 1
}, - "down": {
- "evaluationPeriods": 5
}
}, - "clusterIdentifier": "gke-clust-1",
- "location": "us-west1"
}
}, - "createdAt": "2020-10-16T09:03:23.000Z",
- "updatedAt": "2020-10-16T09:03:23.000Z"
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-1234567",
- "name": "spotinst-group",
- "description": "Some GCP Elastigroup description",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 20,
- "unit": "instance"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "taskType": "setCapacity",
- "cronExpression": "1 10 * * *",
- "targetCapacity": 2,
- "minCapacity": 1,
- "maxCapacity": 3
}
]
}, - "strategy": {
- "fallbackToOd": true,
- "optimizationWindows": [
- [
- "Mon:01:00-Mon:02:00"
]
], - "revertToPreemptible": {
- "performAt": "timeWindow"
}, - "preemptiblePercentage": 90,
- "onDemandCount": 2,
- "drainingTimeout": 30
}, - "compute": {
- "launchSpecification": {
- "metadata": [
- {
- "key": "environment",
- "value": "production"
}
], - "tags": [
- [
- "prod1",
- "testingfeature"
]
], - "backendServiceConfig": {
- "backendServices": [
- {
- "backendServiceName": "bserv-2",
- "locationType": "global",
- "scheme": null,
- "namedPorts": {
- "name": "https",
- "ports": [
- [
- 443,
- 8443
]
]
}
}
]
}, - "disks": [
- {
- "deviceName": null,
- "initializeParams": {
- "diskSizeGb": 10,
- "diskType": "pd-standard",
}, - "mode": "READ_WRITE",
- "source": null,
- "type": "PERSISTENT",
- "autoDelete": true,
- "boot": true,
- "interface": "SCSI"
}
], - "networkInterfaces": [
- {
- "network": "spot-network",
- "projectId": "test-project"
}
], - "startupScript": "IyEvYmluL2Jhc2gNCnRvdWNoIHRlc3Qiquwhq38",
- "shutdownScript": null,
- "ipForwarding": false,
- "minCpuPlatform": "Intel Sandy Bridge"
}, - "instanceTypes": {
- "ondemand": "n1-standard-1",
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
]
}, - "availabilityZones": [
- "asia-east1-a",
- "asia-east1-b",
- "asia-east1-c"
], - "gpu": {
- "type": "nvidia-tesla-v100",
- "count": 1
}, - "subnets": [
- {
- "region": "us-west1",
- "subnetNames": [
- "private"
]
}
], - "elasticIps": null
}, - "scaling": {
- "up": [
- {
- "policyName": "scale_up_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
], - "down": [
- {
- "policyName": "scale_down_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
]
}, - "thirdPartiesIntegration": {
- "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234
}, - "gke": {
- "autoUpdate": true,
- "autoScale": {
- "isEnabled": true,
- "isAutoConfig": false,
- "cooldown": 300,
- "headroom": {
- "cpuPerUnit": 1,
- "memoryPerUnit": 0,
- "numOfUnits": 1
}, - "down": {
- "evaluationPeriods": 5
}
}, - "clusterIdentifier": "gke-clust-1",
- "location": "us-west1"
}
}, - "createdAt": "2020-10-16T09:03:23.000Z",
- "updatedAt": "2020-10-16T09:03:23.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group"
}
}List all properties for single GCP Elastigroup
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-1234567",
- "name": "spotinst-group",
- "description": "Some GCP Elastigroup description",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 20,
- "unit": "instance"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "taskType": "setCapacity",
- "cronExpression": "1 10 * * *",
- "targetCapacity": 2,
- "minCapacity": 1,
- "maxCapacity": 3
}
]
}, - "strategy": {
- "fallbackToOd": true,
- "optimizationWindows": [
- [
- "Mon:01:00-Mon:02:00"
]
], - "revertToPreemptible": {
- "performAt": "timeWindow"
}, - "preemptiblePercentage": 90,
- "onDemandCount": 2,
- "drainingTimeout": 30
}, - "compute": {
- "launchSpecification": {
- "metadata": [
- {
- "key": "environment",
- "value": "production"
}
], - "tags": [
- [
- "prod1",
- "testingfeature"
]
], - "backendServiceConfig": {
- "backendServices": [
- {
- "backendServiceName": "bserv-2",
- "locationType": "global",
- "scheme": null,
- "namedPorts": {
- "name": "https",
- "ports": [
- [
- 443,
- 8443
]
]
}
}
]
}, - "disks": [
- {
- "deviceName": null,
- "initializeParams": {
- "diskSizeGb": 10,
- "diskType": "pd-standard",
}, - "mode": "READ_WRITE",
- "source": null,
- "type": "PERSISTENT",
- "autoDelete": true,
- "boot": true,
- "interface": "SCSI"
}
], - "networkInterfaces": [
- {
- "network": "spot-network",
- "projectId": "test-project"
}
], - "startupScript": "IyEvYmluL2Jhc2gNCnRvdWNoIHRlc3Qiquwhq38",
- "shutdownScript": null,
- "ipForwarding": false,
- "minCpuPlatform": "Intel Sandy Bridge"
}, - "instanceTypes": {
- "ondemand": "n1-standard-1",
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
]
}, - "availabilityZones": [
- "asia-east1-a",
- "asia-east1-b",
- "asia-east1-c"
], - "gpu": {
- "type": "nvidia-tesla-v100",
- "count": 1
}, - "subnets": [
- {
- "region": "us-west1",
- "subnetNames": [
- "private"
]
}
], - "elasticIps": null
}, - "scaling": {
- "up": [
- {
- "policyName": "scale_up_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
], - "down": [
- {
- "policyName": "scale_down_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
]
}, - "thirdPartiesIntegration": {
- "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234
}, - "gke": {
- "autoUpdate": true,
- "autoScale": {
- "isEnabled": true,
- "isAutoConfig": false,
- "cooldown": 300,
- "headroom": {
- "cpuPerUnit": 1,
- "memoryPerUnit": 0,
- "numOfUnits": 1
}, - "down": {
- "evaluationPeriods": 5
}
}, - "clusterIdentifier": "gke-clust-1",
- "location": "us-west1"
}
}, - "createdAt": "2020-10-16T09:03:23.000Z",
- "updatedAt": "2020-10-16T09:03:23.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group"
}
}Delete an Elastigroup GCP
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Update an GCP Elastigroup
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | object | ||||||||||||||||||||
| |||||||||||||||||||||
{- "group": {
- "name": "spotinst-group",
- "description": "Some GCP Elastigroup description",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 20,
- "unit": "instance"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "taskType": "setCapacity",
- "cronExpression": "1 10 * * *",
- "targetCapacity": 2,
- "minCapacity": 1,
- "maxCapacity": 3
}
]
}, - "strategy": {
- "fallbackToOd": true,
- "optimizationWindows": [
- [
- "Mon:01:00-Mon:02:00"
]
], - "revertToPreemptible": {
- "performAt": "timeWindow"
}, - "preemptiblePercentage": 90,
- "onDemandCount": 2,
- "drainingTimeout": 30
}, - "compute": {
- "launchSpecification": {
- "metadata": [
- {
- "key": "environment",
- "value": "production"
}
], - "tags": [
- [
- "prod1",
- "testingfeature"
]
], - "backendServiceConfig": {
- "backendServices": [
- {
- "backendServiceName": "bserv-2",
- "locationType": "global",
- "scheme": null,
- "namedPorts": {
- "name": "https",
- "ports": [
- [
- 443,
- 8443
]
]
}
}
]
}, - "disks": [
- {
- "deviceName": null,
- "initializeParams": {
- "diskSizeGb": 10,
- "diskType": "pd-standard",
}, - "mode": "READ_WRITE",
- "source": null,
- "type": "PERSISTENT",
- "autoDelete": true,
- "boot": true,
- "interface": "SCSI"
}
], - "networkInterfaces": [
- {
- "network": "spot-network",
- "projectId": "test-project"
}
], - "startupScript": "IyEvYmluL2Jhc2gNCnRvdWNoIHRlc3Qiquwhq38",
- "shutdownScript": null,
- "ipForwarding": false,
- "minCpuPlatform": "Intel Sandy Bridge"
}, - "instanceTypes": {
- "ondemand": "n1-standard-1",
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
]
}, - "availabilityZones": [
- "asia-east1-a",
- "asia-east1-b",
- "asia-east1-c"
], - "gpu": {
- "type": "nvidia-tesla-v100",
- "count": 1
}, - "subnets": [
- {
- "region": "us-west1",
- "subnetNames": [
- "private"
]
}
], - "elasticIps": null
}, - "scaling": {
- "up": [
- {
- "policyName": "scale_up_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
], - "down": [
- {
- "policyName": "scale_down_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
]
}, - "thirdPartiesIntegration": {
- "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234
}, - "gke": {
- "autoUpdate": true,
- "autoScale": {
- "isEnabled": true,
- "isAutoConfig": false,
- "cooldown": 300,
- "headroom": {
- "cpuPerUnit": 1,
- "memoryPerUnit": 0,
- "numOfUnits": 1
}, - "down": {
- "evaluationPeriods": 5
}
}, - "clusterIdentifier": "gke-clust-1",
- "location": "us-west1"
}
}, - "createdAt": "2020-10-16T09:03:23.000Z",
- "updatedAt": "2020-10-16T09:03:23.000Z"
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-1234567",
- "name": "spotinst-group",
- "description": "Some GCP Elastigroup description",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 20,
- "unit": "instance"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "taskType": "setCapacity",
- "cronExpression": "1 10 * * *",
- "targetCapacity": 2,
- "minCapacity": 1,
- "maxCapacity": 3
}
]
}, - "strategy": {
- "fallbackToOd": true,
- "optimizationWindows": [
- [
- "Mon:01:00-Mon:02:00"
]
], - "revertToPreemptible": {
- "performAt": "timeWindow"
}, - "preemptiblePercentage": 90,
- "onDemandCount": 2,
- "drainingTimeout": 30
}, - "compute": {
- "launchSpecification": {
- "metadata": [
- {
- "key": "environment",
- "value": "production"
}
], - "tags": [
- [
- "prod1",
- "testingfeature"
]
], - "backendServiceConfig": {
- "backendServices": [
- {
- "backendServiceName": "bserv-2",
- "locationType": "global",
- "scheme": null,
- "namedPorts": {
- "name": "https",
- "ports": [
- [
- 443,
- 8443
]
]
}
}
]
}, - "disks": [
- {
- "deviceName": null,
- "initializeParams": {
- "diskSizeGb": 10,
- "diskType": "pd-standard",
}, - "mode": "READ_WRITE",
- "source": null,
- "type": "PERSISTENT",
- "autoDelete": true,
- "boot": true,
- "interface": "SCSI"
}
], - "networkInterfaces": [
- {
- "network": "spot-network",
- "projectId": "test-project"
}
], - "startupScript": "IyEvYmluL2Jhc2gNCnRvdWNoIHRlc3Qiquwhq38",
- "shutdownScript": null,
- "ipForwarding": false,
- "minCpuPlatform": "Intel Sandy Bridge"
}, - "instanceTypes": {
- "ondemand": "n1-standard-1",
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
]
}, - "availabilityZones": [
- "asia-east1-a",
- "asia-east1-b",
- "asia-east1-c"
], - "gpu": {
- "type": "nvidia-tesla-v100",
- "count": 1
}, - "subnets": [
- {
- "region": "us-west1",
- "subnetNames": [
- "private"
]
}
], - "elasticIps": null
}, - "scaling": {
- "up": [
- {
- "policyName": "scale_up_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
], - "down": [
- {
- "policyName": "scale_down_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
]
}, - "thirdPartiesIntegration": {
- "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234
}, - "gke": {
- "autoUpdate": true,
- "autoScale": {
- "isEnabled": true,
- "isAutoConfig": false,
- "cooldown": 300,
- "headroom": {
- "cpuPerUnit": 1,
- "memoryPerUnit": 0,
- "numOfUnits": 1
}, - "down": {
- "evaluationPeriods": 5
}
}, - "clusterIdentifier": "gke-clust-1",
- "location": "us-west1"
}
}, - "createdAt": "2020-10-16T09:03:23.000Z",
- "updatedAt": "2020-10-16T09:03:23.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group"
}
}Import an existing GKE cluster to Elastigroup.
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| clusterId required | string Example: clusterId=myGKECluster The GKE Cluster identifier |
| clusterLocation required | string Example: clusterLocation=us-central1-a The location of the cluster. Enter the desired zone for zonal GKE clusters or the region for regional GKE clusters. |
| nodePoolName | string Example: nodePoolName=somePoolName Set the node pool to import |
required | object | ||||||||||
| |||||||||||
{- "group": {
- "preemptiblePercentage": 70,
- "name": "myGKE",
- "capacity": {
- "minimum": 0,
- "maximum": 2,
- "target": 1
}, - "instanceTypes": {
- "ondemand": "n1-highcpu-32",
- "preemtible": [
- [
- "n1-standard-1",
- "n1-standard-2"
]
]
}, - "availabilityZones": [
- [
- "us-central1-a",
- "us-central1-b"
]
]
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "group": {
- "id": "sig-1234567",
- "name": "spotinst-group",
- "description": "Some GCP Elastigroup description",
- "capacity": {
- "target": 8,
- "minimum": 2,
- "maximum": 20,
- "unit": "instance"
}, - "scheduling": {
- "tasks": [
- {
- "isEnabled": true,
- "taskType": "setCapacity",
- "cronExpression": "1 10 * * *",
- "targetCapacity": 2,
- "minCapacity": 1,
- "maxCapacity": 3
}
]
}, - "strategy": {
- "fallbackToOd": true,
- "optimizationWindows": [
- [
- "Mon:01:00-Mon:02:00"
]
], - "revertToPreemptible": {
- "performAt": "timeWindow"
}, - "preemptiblePercentage": 90,
- "onDemandCount": 2,
- "drainingTimeout": 30
}, - "compute": {
- "launchSpecification": {
- "metadata": [
- {
- "key": "environment",
- "value": "production"
}
], - "tags": [
- [
- "prod1",
- "testingfeature"
]
], - "backendServiceConfig": {
- "backendServices": [
- {
- "backendServiceName": "bserv-2",
- "locationType": "global",
- "scheme": null,
- "namedPorts": {
- "name": "https",
- "ports": [
- [
- 443,
- 8443
]
]
}
}
]
}, - "disks": [
- {
- "deviceName": null,
- "initializeParams": {
- "diskSizeGb": 10,
- "diskType": "pd-standard",
}, - "mode": "READ_WRITE",
- "source": null,
- "type": "PERSISTENT",
- "autoDelete": true,
- "boot": true,
- "interface": "SCSI"
}
], - "networkInterfaces": [
- {
- "network": "spot-network",
- "projectId": "test-project"
}
], - "startupScript": "IyEvYmluL2Jhc2gNCnRvdWNoIHRlc3Qiquwhq38",
- "shutdownScript": null,
- "ipForwarding": false,
- "minCpuPlatform": "Intel Sandy Bridge"
}, - "instanceTypes": {
- "ondemand": "n1-standard-1",
- "preemptible": [
- "n1-standard-1",
- "n1-standard-2"
]
}, - "availabilityZones": [
- "asia-east1-a",
- "asia-east1-b",
- "asia-east1-c"
], - "gpu": {
- "type": "nvidia-tesla-v100",
- "count": 1
}, - "subnets": [
- {
- "region": "us-west1",
- "subnetNames": [
- "private"
]
}
], - "elasticIps": null
}, - "scaling": {
- "up": [
- {
- "policyName": "scale_up_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "gte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
], - "down": [
- {
- "policyName": "scale_down_1",
- "source": "stackdriver",
- "metricName": "instance/disk/read_ops_count",
- "statistic": "average",
- "unit": "percent",
- "threshold": 10000,
- "namespace": "compute",
- "period": 300,
- "evaluationPeriods": 1,
- "cooldown": 300,
- "operator": "lte",
- "dimensions": [
- {
- "name": "storage_type",
- "value": "pd-standard"
}
], - "action": {
- "type": "adjustment",
- "adjustment": 1
}
}
]
}, - "thirdPartiesIntegration": {
- "dockerSwarm": {
- "masterHost": "swarm1.swarm.com",
- "masterPort": 1234
}, - "gke": {
- "autoUpdate": true,
- "autoScale": {
- "isEnabled": true,
- "isAutoConfig": false,
- "cooldown": 300,
- "headroom": {
- "cpuPerUnit": 1,
- "memoryPerUnit": 0,
- "numOfUnits": 1
}, - "down": {
- "evaluationPeriods": 5
}
}, - "clusterIdentifier": "gke-clust-1",
- "location": "us-west1"
}
}, - "createdAt": "2020-10-16T09:03:23.000Z",
- "updatedAt": "2020-10-16T09:03:23.000Z"
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:importGke"
}
}Get the status for all instances that are memebers of the Elastigroup
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "privateIpAddress": "string",
- "machineType": "string",
- "zone": "string",
- "instanceName": "string",
- "lifeCycle": "string",
- "statusName": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:status"
}
}Get all activity events for the Elastigroup
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "groudId": "sig-576g654",
- "eventType": "RollFinished",
- "createdAt": "2018-03-01T09:58:16.000+0000",
- "subEvents": [
- {
- "id": "sbgd-1234567",
- "groupId": "sig-576g654",
- "currentBatch": 1,
- "numOfBatches": 1,
- "gracePeriod": 300,
- "type": "rollInfo",
- "status": null,
- "createdAt": "2018-03-01T09:58:16.000+0000"
}
]
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:event"
}
}Fetch a group’s Elastilog
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | string or string Example: fromDate=2020-09-01 or fromDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
| limit | integer <= 1000 Default: 500 Example: limit=200 Maximum number of items to return. |
required | string or string Example: toDate=2020-09-01 or toDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "message": "Group sig-e0a2bd7c successfully created.",
- "severity": "INFO",
- "createdAt": "2019-05-19T14:34:15.000Z"
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:log"
}
}Add instances to the Elastigroup
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| adjustment required | integer Example: adjustment=1 The number of instances to add to the group |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "newPreemptibles": [
- {
- "instanceName": "sin-9da52709"
}
], - "newInstances": [
- {
- "instanceName": "sin-1591c0b6"
}
]
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:preemptible"
}
}Remove instances from the Elastigroup
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| adjustment required | integer Example: adjustment=1 The number of instances to remove from the group |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "victimPreemptibles": [
- {
- "instanceName": "sin-4ecd5037",
- "zone": "asia-east1-b",
- "machineType": "N1_STANDARD_2"
}
], - "victimInstances": [
- {
- "instanceName": "sin-31e0596a",
- "zone": "europe-west1-c",
- "machineType": "N1_STANDARD_1"
}
]
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:scale"
}
}Get financial information on a specific Elastigroup
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
required | string or string Example: fromDate=2020-09-01 or fromDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
required | string or string Example: toDate=2020-09-01 or toDate=1598918400000 Get items on or after this date (ISO 8601 or Unix timestamp) |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "running": {
- "value": 294.3,
- "unit": "hours"
}, - "savings": {
- "value": 60.5263,
- "unit": "percentage"
}, - "costs": {
- "actual": 8.829,
- "potential": 22.3668
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:costs"
}
}Detach instances from an Elastigroup
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| drainingTimeout | integer (Applies only if shouldTerminateInstances is on) The draining timeout (in seconds) before terminating the instance. If no draining timeout is defined, the group’s draining timeout applies. |
| instancesToDetach | array The names of the instances to detach from the group. |
| shouldDecrementTargetCapacity | boolean Indicates whether to decrement the capacity of the group, so no new instance will be launched instead of the detached one. |
| shouldTerminateInstances | boolean Indicates whether to terminate the instances or not. |
{- "instancesToDetach": [
- "sin-44c02836",
- "sin-ddf71dfa"
], - "shouldTerminateInstances": true,
- "shouldDecrementTargetCapacity": true,
- "drainingTimeout": 0
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "kind": "spotinst:gcp:gce:detachInstances"
}
}Get the current instance status. Possible status values: ACTIVE, TERMINATING
| instanceId required | string GCP Instance ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "instanceName": "sin-123",
- "lifeCycleState": "ACTIVE",
- "privateIp": "10.0.0.1",
- "groupId": "sig-123"
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:instance"
}
}Set termination protection for a specific instance.
| instanceId required | string GCP Instance ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| ttlInMinutes required | string Specify a TTL (in minutes) for this lock, i.e.: for how long the protection will be valid for. |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Remove termination protection for a specific instance.
| instanceId required | string GCP Instance ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}
}
}Get all of the deployments for a specific Elastigroup, and their status
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| batchSizePercentage required | integer (in percentage) the batch size of the deployment, i.e.: how many instances to replace in each batch |
| gracePeriod required | integer (in seconds) the time until an instance becomes healthy in the load balancer |
{- "batchSizePercentage": 20,
- "gracePeriod": 300
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-01f01234",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 0
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:roll"
}
}Deploy the Elastigroup: Triggers a Blue/Green deployment that replaces the existing instances in the Elastigroup
| groupId required | string Azure Elastigroup ID |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
| batchSizePercentage required | integer (in percentage) the batch size of the deployment, i.e.: how many instances to replace in each batch |
| gracePeriod required | integer (in seconds) the time until an instance becomes healthy in the load balancer |
{- "batchSizePercentage": 20,
- "gracePeriod": 300
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-01f01234",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 0
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:roll"
}
}Get a specific deployment's status
| rollId required | string The deployment ID to query |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-01f01234",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 0
}, - "createdAt": "2018-10-10T10:50:29.000+0000",
- "updatedAt": "2018-11-01T10:50:29.000+0000"
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:roll"
}
}Stop an existing deployment
| rollId required | string The deployment ID to query |
| accountId required | string Example: accountId=act-123456789 Your Spot accountId associated with your token |
object | |||
| |||
{- "roll": {
- "status": "STOPPED"
}
}{- "request": {
- "id": "e593ff58-067d-4340-92f9-8b1c0bad70d7",
- "url": "string",
- "method": "string",
- "timestamp": "2018-06-20T11:35:01.745Z"
}, - "response": {
- "status": {
- "code": 200,
- "message": "OK"
}, - "items": [
- {
- "id": "sbgd-01f01234",
- "status": "STARTING",
- "currentBatch": 1,
- "numOfBatches": 2,
- "progress": {
- "unit": "percentage",
- "value": 0
}
}
], - "count": 1,
- "kind": "spotinst:gcp:gce:group:roll"
}
}